web-dev-qa-db-ja.com

GoogleスプレッドシートのVLOOKUPの結果をGoogleフォームからの最新の入力に更新する方法

Googleフォームから応答を取得し、それらをクライアントの名前に関連する行に整理する数式を作成しようとしています。名前は手動で入力され、フォームのドロップダウンにも表示されるため、常に一致する必要があります。

=ARRAYFORMULA(IFERROR(VLOOKUP($A$3:$A,'Form Responses 1'!$B$2:$F, B2,FALSE ),""))を使用しました。ここで:

  • 手動で入力した名前は列Aにあります
  • 結果が必要な列は行2にあります
  • プルされているデータは、シート「Form Responses 1」から来ています

サンプルでは、​​「現在のリスト」シートの名前ごとに表示しようとしているフォーム応答のデータを強調表示しています。

サンプルシートはこちら

4
zprezo

これを試してください:B3:

=ARRAYFORMULA(IFERROR(VLOOKUP($A$3:$A,SORT(FILTER({'Form Responses 1'!$B$2:$F$7,'Form Responses 1'!$A$2:$A$7},'Form Responses 1'!C2:C7<>""),6,0),B2,0)))

塗りつぶしを右にドラッグします。

それはあなたのシートの名前のためだけに大きく見えます:

編集:数式の簡略化

3
TheMaster

このためのarrayformulaソリューションが表示されません。 「現在のリスト」シートのセルごとに1つの数式が必要なソリューションを次に示します。

連絡先電話番号を検索するには(現在のリストの列B):

=iferror(query('Form Responses 1'!$A:$F, "select C where B='" & $A3 & "' and C<>'' order by A desc limit 1 label C ''", 1))

重要な部分はquery文字列です。読みやすくするためにここで繰り返します:

select C 
  where B = '" & $A3 & "' 
  and C <> '' 
  order by A desc 
  limit 1 
  label C ''

したがって、Cからエントリを選択します。

  • Bは現在のシートのA3の名前と一致します
  • Cは空ではありません
  • エントリは最新のものです(タイムスタンプの降順で並べ、上位の結果を取得します)

結果に空の文字列 ''のラベルを付けると、必要に応じて単一セルの出力が得られます。 queryの最後のパラメーターは、ソースデータのヘッダー行の数です。

上記の式は行の下にコピーできるため、全員の連絡先電話番号を取得できます。

他のテキストフィールド(住所、ピザの設定)については、Cを3か所で別の文字(DまたはE)に置き換えることにより、式が調整されます。

テキストではなく日付である最後のフィールドについても、非空白条件C<>''F is not nullに置き換えます。 (前者はテキストに使用され、後者は数値と日付に使用されます)。

参考までに、これはフォームレスポンス1の入力データです。

+--------------------+---------+--------------+-------------+--------------------+----------------------+
|     Timestamp      | Client  |   Contact    |   Address   | Do you like pizza? | Party Date Preferred |
+--------------------+---------+--------------+-------------+--------------------+----------------------+
| 9/20/2017 13:06:36 | Joe     | 555-555-5555 | 123 Main st | Yes                | 9/30/2017            |
| 9/20/2017 13:07:00 | Bob     | 555-111-1111 |             | No                 | 10/10/2017           |
| 9/20/2017 13:07:17 | Joe     |              |             | No                 | 10/27/2017           |
| 9/20/2017 13:07:43 | Jessica | 555-222-2222 | 700 Main St | Maybe              |                      |
| 9/20/2017 13:07:51 | Jessica |              |             |                    | 9/29/2017            |
| 9/20/2017 13:08:50 | Jessica | 555-123-1234 |             |                    |                      |
+--------------------+---------+--------------+-------------+--------------------+----------------------+

これは出力です:

+---------+--------------+-------------+--------------------+----------------------+
|         |   Contact    |   Address   | Do you like pizza? | Party Date Preferred |
+---------+--------------+-------------+--------------------+----------------------+
| Bob     | 555-111-1111 |             | No                 | 10/10/2017           |
| Jessica | 555-123-1234 | 700 Main St | Maybe              | 9/29/2017            |
| Joe     | 555-555-5555 | 123 Main st | No                 | 10/27/2017           |
+---------+--------------+-------------+--------------------+----------------------+
2
user135384