【スプレッドシート】Query関数のformatの使い方と応用例4つ

GoogleスプレッドシートのQuery関数で、表示形式を変更できる「format」オプション。formatを使えば、いちいちスプレッドシートの標準機能の「表示形式」で変更を行わなくても、query関数で表示形式を変更できます。

このページでは、formatの基本的な使い方から、応用例までを解説していきます。参考にして、より見やすいGoogleスプレッドシートの表を作りましょう。

Query関数のformatの基本的な使い方

GoogleスプレッドシートQuery関数のformatを使う基本形を紹介します。次のformatを使ったQuery関数は「指定した列を、指定した表示形式に変更する」という指示になります。

=QUERY(範囲, "format 列 '表示形式' ")

より具体的に「A11:D17の範囲の行で、列Dを数字3桁表示にする」という指示を書いたものが次のQuery関数です。

=QUERY(A11:D17, "format D '000' ",true)

2桁の数字も左側にゼロをたされて3桁表示になっています。

query関数でformatを使って3桁表示にする

Query関数のformatの使い方例

①formatを使って3桁表示にする

まずこちらは先程紹介したformatの基本形なので詳細は省略します。

=QUERY(範囲, "format 列 '表示形式' ")
=QUERY(A11:D17, "format D '000' ",true)

query関数でformatを使って3桁表示にする

②formatを使って小数点表示にする

formatで指定する表示形式を「0.0」のように小数点を指定することで、小数点分まで表示するようになります。

=QUERY(範囲, "format 列 '0.0' ")

「A11:D17の範囲の行の中で、D列を小数点第一位まで表示せよ」という指示の、formatを使った具体的なquery関数は次のようになります。

=QUERY(A11:D17,"format D '0.0' ")

下のデータの例だと、もともと100が「100.0」といったように表示されています。

query関数でformatを使って小数点表示にする

③fomatを使って日付を年月日表示にする

formatで指定する表示形式を、年を表す「y」、付きを表す「m」、日を表す「d」で指定することで、思い通りの日付表示になります。

=QUERY(範囲, "format 列 'yyyy-mm-dd' ")

「A11:D17の範囲の行の中で、A列を’yyyy年m月d日’という表示形式に変更せよ」という指示の、formatを使った具体的なquery関数は次のようになります。

=QUERY(A11:D17,"format A 'yyyy年m月d日' ")

下のデータの例だと、もともと「2018/01/01」と表示されていたデータが、「2018年1月1日」と表示されています。もし指定を「yyyy年mm月dd日」にすれば「2018年01月02日」と表示されます。

query関数でformatを使って年月日表示形式にする

④formatを使って単位をつける

formatを使用することで、出力結果に単位をつけることもできます。書き方は次のようになります。

=QUERY(範囲, "format 列 '0単位' ")

「A11:D17の範囲の行の中で、D列にpvという単位をつけよ」という指示の、formatを使った具体的なquery関数は次のようになります。

=QUERY(A11:D17,"format D '0pv' ")

下のデータの例だと、もともと「100」と表示されていたデータが、「100pv」と表示されました。

query関数でformatを使って最後に単位を付けた表示にする

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")
[su_note note_color="#00BFFF" text_color="#ffffff"] 人気の記事

icon-check-circle Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]
タイトルとURLをコピーしました