4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Googleスプレッドシート】Query関数が便利そうなので使い方を整理する

Last updated at Posted at 2022-09-10

目次

1. はじめに
2. 利用するデータ
3. 使い方(コピペ可)
4. 参考にしたサイト

1. はじめに

Googleスプレッドシートの「Query関数」でselect句が使えるとの事で、Vlookup関数より便利そうなのでこの機会に使い方を整理する

EXCELで「Query関数」は使えません

こんな感じで書ける

=query('シート1'!A:C,"select A,B,C where A='うんこ'")

2. 利用するデータ

スプレッドシートの「シート1」、「シート2」にデータ入力して「シート3」でQuery関数を使う

表1:シート1
A列 B列 C列
1 状態
2 うんこ 茶色 健康
3 おしっこ 茶色 健康
4 おしっこ 危険
表2:シート2
A列 B列
1 臭い
2 うんこ 強い
3 おしっこ 普通

3. 使い方(コピペ可)

1. where句でキーワードと一致する行を抽出する

A列のうんこのある行を抽出する

=query('シート1'!A:C,"select A,B,C where A='うんこ'")

[結果]

A列 B列 C列
1 うんこ 茶色 健康
2. where句でキーワードと一致する行を抽出する(見出しあり)

A列のうんこのある行を抽出する(見出しあり)

=query('シート1'!A:C,"select A,B,C where A='うんこ'",true)

[結果]

A列 B列 C列
1 状態
2 うんこ 茶色 健康
3. where句でキーワードと部分一致する行を抽出する

A列のの部分一致で行を抽出する

=query('シート1'!A:C,"select A,B,C where A like'%う%'")

[結果]

A列 B列 C列
1 うんこ 茶色 健康
4. where句でキーワードで複数条件が一致する行を抽出する

A列のおしっこ かつ B列の茶色のある行を抽出する

=query('シート1'!A:C,"select A,B,C where A='おしっこ' and B='茶色'")

[結果]

A列 B列 C列
1 おしっこ 茶色 健康
5. 複数テーブルを結合して表示する

表1と表2のA列のうんこをキーワードに結合して表示する(見出しも表示)

=query({'シート1'!A:C,'シート2'!A:B}," select Col1,Col2,Col3,Col5 where Col1='うんこ'",true)

where句で指定する結合列(Col1(シート1:A列)、Col4(シート2:A列))はどちらを指定してもOK

キーワードの結合列を「Col1」 → 「Col4」に変更しても結果は同様となる

=query({'シート1'!A:C,'シート2'!A:B}," select Col1,Col2,Col3,Col5 where Col4='うんこ'",true)

[結果]

A列 B列 C列 D列
1 状態 臭い
2 うんこ 茶色 健康 強い
6. 見出しを別名にして表示する

見出しを別名にして表示する

=query('シート1'!A:C,"select A,B,C label A 'objec',B 'color',C 'status'",true)

[結果]

A列 B列 C列
1 objec color status
2 うんこ 茶色 健康
3 おしっこ 茶色 健康
4 おしっこ 危険
7. group by句で集計し、order by句で並び替えをする

A列うんこおしっこのカウントを集計し、数の大きい順(降順)に並べる

空白行までカウントされてしまうので「 where A is not null 」を含める

=query('シート1'!A:C,"select A ,count(A) where A is not null group by A order by A desc ",true)

[結果]

A列 B列
1 count 物
2 おしっこ 2
3 うんこ 1
8. pivot句でクロス集計する

A列うんこおしっこ、C列健康危険のカウントをクロス集計する

=query('シート1'!A:C,"select A ,count(A) where A is not null group by A pivot C",true)

[結果]

A列 B列 C列
1 健康 危険
2 うんこ 1
3 おしっこ 1 1

4. 参考にしたサイト

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?