LANG SELRCT

コードを書く場所

2019年2月11日月曜日

QUERY関数(selectとwhereとmatches)で抽出する


QUERY関数のselectとwhereとmatchesで抽出する


今回書いた関数

=query('シート1'!1:1000, "select A, C where A matches 'HIRA-.*'", true)



このようなテーブルを元データとして



このようにIDがHIRAに一致するIDとTITLEを抽出したい

数式
=query('シート1'!1:1000, "select A, C where A matches 'HIRA-.*'", true)


意訳
シート1の1行目から1000行目までを見て, A列, C列でA列がHIRA-で始まるデータを抽出して見出しを付ける


数式を分解してみる

数式
=query(
'シート1'!1:1000, 
"
select A, C 
where A 
matches '^HIRA-.*'
", 
true
)
意訳
QUERY関数(
シート1の1行目から1000行目までのデータを見て
クエリは"で囲む
A列とC列を抽出する
抽出するのはA列が
HIRA-で始まるもの
クエリ終了の"
見出し行を付ける
)


補足

LIKEとMATCHES

MATCHES
=query('シート1'!1:1000, "select A, C where A matches 'HIRA-.*'", true)
matches '正規表現'


LIKE
=query('シート1'!1:1000, "select A, C where A LIKE 'HIRA-%'", true)
% は0文字以上
_ は1文字以上


元データ

IDDATETITLE
HIRA-12019/02/11あいうえお
HIRA-22019/02/10かきくけこ
HIRA-32019/02/11さしすせそ
KANA-12019/02/12アイウエオ
KANA-22019/02/11カキクケコ
KANA-32019/02/12サシスセソ
KANA-42019/02/11タチツテト


参考