LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2021年2月24日水曜日

VLOOKUP関数だけではできない複数結果の取得をQUERY関数でやってみる


Goolgeスプレッドシートでは

一致するキーが複数ある場合、VLOOKUP関数では最初に見つかった結果を返します。

本投稿では一致するすべての結果を返したくて、QUERY関数を使ってみました。



課題
VLOOKUP関数では一致する最初に見つかった結果だけを返す

解決策
QUERY関数で一致するすべての結果を返す



こういうことがしたい

E2に検索結果を返す
  1. D2の値に一致するものを
  2. B列の中から探して
  3. A列の値を返す
  4. 複数結果がある場合は改行を入れる

今回書いた関数
=JOIN(char(10),QUERY(A:B,"select A where B = '"&D2&"'"))


関数の意訳
JOIN:指定した区切り文字を使用して1次元配列の要素を結合
char(10):セルの中で改行する(今回はこれを区切り文字にする)
QUERY:クエリ言語を使用して、データ全体に対するクエリを実行
A:B:検索範囲
select A:A列の値を返す
where B:B列内で検索する
D2:D2の値に一致するものを探す


参考


JOIN

Merge cells with Join formula and CHAR(10)

QUERY syntax using cell reference

最新の投稿

マイドライブを指定してファイルを保存したい(DriveApp.getRootFolder())

以前書いた CSVデータを作ってGoogleドライブに保存する では、特定のフォルダを指定して保存しました。 ここでは「マイドライブ」に保存するコードを書きました。 save_as_csv()を実行すると マイドライブにvar dataで設定したデータが保存されて そのファイル...