Googleスプレッドシートでデータの出力数を制限したいときに役立つのが「Query関数のlimitオプション」。
このページではQuery関数の中でlimitオプションを使う方法と、具体的な実務テクニックを3つ紹介していきます。ぜひ参考にして、データ出力の効率化をしていきましょう。
Query関数のlimitの基本的な使い方
GoogleスプレッドシートQuery関数のlimitを使う際の基本形を紹介します。次のlimitを使ったQuery関数は「表示行数を指定した数だけ上から表示する」という指示になります。
=QUERY(範囲, "limit 数")
より具体的に「A11:D17の範囲の行で、上から3つまで出力」という指示を書いたものが次のQuery関数です。
=QUERY(A11:D17, "limit 3",true)
Query関数のlimitの使い方例
Query関数のlimitオプション自体は使い方が簡単でした。ここからは、より実務の状況に合わせた3つのlimitの使い方例を解説していきます。
①3つだけ表示するlimitの使い方
こちらは先程の「limitの使い方」で説明したので解説は省略します。
=QUERY(範囲, "limit 数")
=QUERY(A11:D17, "limit 3",true)
②下位3つだけ表示するlimitの使い方
Query関数の中で「order by 列 asc」を指定することによって、指定した列を昇順に並べ替えて出力できます。limitオプションも合わせると次のようなQuery関数になります。
=QUERY(範囲, "order by 列 asc limit 数")
より具体的に「A11:D17の範囲の行の中で、D列を昇順に並べ替えたときの、上3つの行を表示せよ」という指示の、limitを使ったquery関数は次のようになります。
=QUERY(A11:D17,"order by D asc limit 3")
下のデータの例だと「PVの少ない順に並べ替えたときの、上から3つの行を表示 = PV下位3つの行」という意味になります。
③上位3つだけ表示するlimitの使い方
Query関数の中で「order by 列 desc」を指定することによって、指定した列を降順に並べ替えて出力できます。limitオプションも合わせると次のようなQuery関数になります。
=QUERY(範囲, "order by 列 desc limit 数")
より具体的に「A11:D17の範囲の行の中で、D列を降順に並べ替えたときの、上3つの行を表示せよ」という指示の、limitを使ったquery関数は次のようになります。
=QUERY(A11:D17,"order by D desc limit 3")
下のデータの例だと「PVの多い順に並べ替えたときの、上から3つの行を表示 = PV上位3つの行」という意味になります。
「QUERY関数の使い方」まとめQUERY関数の使い方 | 使用頻度 | 使用例 | |
---|---|---|---|
オプション | Order byで昇順・降順を指定する | ★★ | QUERY("範囲" "order by 列 asc") |
オプション | group byで同じ値をグルーピングして集計する | ★★★ | QUERY(範囲,"select 列A, 集計関数(列B) group by 列A") |
オプション | pivotを使って、group byをさらにグルーピングして表示する | ★ | QUERY(範囲, "select 列A, 集計関数(列A) where group by 列A pivot 列B") |
オプション | labelを使って、出力される列のラベルを変更する | ★ | QUERY(範囲, "label 列 '名前' ") |
オプション | formatを使って、出力される値の表示形式を変更する | ★ | QUERY(範囲, "format 列 '表示形式' ") |
オプション | limitを使って、表示する行数に制限をかける | ★ | QUERY(範囲, "limit 数") |
オプション | offsetを使って表示データを上からスキップする方法 | ★ | QUERY(範囲, "offset 数") |
オプション | optionsを使う | ★ | |
演算子 | containsを使って、指定文字列を含む行を表示する | ★★ | QUERY(範囲, "where 列 contains '検索文字列' " |
演算子 | starts withを使って、行の先頭文字列に条件を指定する | ★ | QUERY(範囲, "where 列 starts with '検索文字列' " |
演算子 | ends withを使って、行の後尾文字列に条件を指定する | ★ | QUERY(範囲, "where 列 ends with '検索文字列' " |
演算子 | likeで複雑な条件を指定する | ★ | QUERY(範囲,"where 列 like '検索文字列' ") |
演算子 | ★★★ | QUERY(範囲,"WHERE 列 matches '正規表現' ") | |
テクニック | whereの条件で空白を指定・除外する | ★★ | QUERY(範囲, "where 列 is not null") |
テクニック | QUERY関数にSUM関数を使う | ★★ | SUM(QUERY(範囲, "where 条件") |
テクニック | whereの条件に日付を指定する | ★★★ | QUERY(範囲,"where 列 = date '"& TEXT(セル,"YYYY-MM-DD") &"'") |
テクニック | QUERY関数内でimportrange関数を使って、別シートを参照する | ★★★ | QUERY(importrange(シートID,参照範囲), "where 条件") |
テクニック | 複数範囲・複数シートを結合する | ★★ | QUERY({IMPORTRANGE(シートURL,シート範囲);IMPORTRANGE(シートURL,シート範囲)},"WHERE 条件") |
テクニック | whereの条件を複数指定する | ★★★ | QUERY("範囲", "where 条件A or 条件B and 条件C") |
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]