python_analytics

主にpythonやライブラリーを使ったデータ解析、機械学習、統計学などについて書いていきます

【便利機能】スプレッドシートを活用したQueryの使い方

スプレッドシートでSELECTを使いQueryを活用する方法

スプレッドシートを活用することで、Excelでは機能として存在しないQuery/IMPORTRANGEなど処理速度を改善させスマートに抽出することが 可能となります。シート間の結合や、集計関数と正規表現で条件をかけながら日付をフィルタにかけた記述を公開します。

Query関数を使って、シート間で結合する方法

=QUERY({'シート名'!A2:E;'シート名'!H2:L;'シート名'!AE2:AI},"where Col1 is not null")

Query関数を使って、動的に日付を選び正規表現で条件フィルタをかけ集計関数を使って、特定のラベルをつけて表示させる。

=QUERY(IMPORTRANGE("シートID","シート名!A2:G"),
"select Col2,SUM(Col4),sum(Col5) where Col2>=date '"&TEXT(B6,"yyyy-mm-dd")&"' and Col2<=date '"&TEXT(C6,"yyyy-mm-d")&"'and( Col3 contains '"&D2&"' or Col3 matches '^"&B2&"$' or Col3 matches '^"&C2&"$') group by Col2 label Col2 '日付', SUM(Col5) 'COST', SUM(Col4) '収益'")```

シート内で、重複しないデータを抽出する方法

=UNIQUE(IMPORTRANGE("シートID","シート名!C2:C"))

ARRAYFORMULAを活用したラベル条件分岐

=ARRAYFORMULA(
 IFS(

isnumber(find("検索キー", 参照セル,1)),参照セル=ラベル,
 isnumber(find("", 参照セル,1)),"Other")
 )
 ```


<h2></h2>