Googleスプレッドシートのデータ抽出に便利なQUERY関数について、前回はORDER BY句を使用してデータを並び替えて抽出する方法をご紹介しました。
QUERY関数No4
- ORDER BY句
- LIMIT句
- OFFSET句
今回は抽出データの表示形式を設定できる「FORMAT句」や、見出し名を設定できる「LABEL句」など、データ整形に関するクエリについて解説するので、ぜひ参考にしてみてください。
QUERY関数のFORMAT句の使い方
FORMAT句を使って、日付と数字の表示形式を設定する方法について解説します。複数列の表示形式を設定することもできるので、日付や数字を見やすく整形してみましょう。
数字の表示形式を変更する方法
FORMAT句は、1つ以上の列のセルの表示形式を指定するために使用します。
数値の表示形式の代表的なパターンは以下の通りです。末尾の「0」は「#」に変更すると、セルの値がゼロのときに「空白」になります。
- 3桁区切り:#,##0 (例:1000→1,000)
- 小数点以下:0.00または#,##0.00 (例:2→2.00または1000→1,000.00)
- パーセント:0% (例:0.25→25%)
- 千円単位:#,##0,千円 (例:1000→1千円)
FORMAT句:QUERY(データ範囲,”SELECT 列 FORMAT 列 ‘書式形式'”)
※今回の例ではSELECT句を省略しています。省略した場合、すべての列が抽出対象となります。
日付の表示形式を変更する方法
FORMAT句では、日付の表示形式を変更することも可能です。
日付の表示形式の代表的なパターンは以下の通りです。アルファベットの後には、例のように記号や「年月日」などの文字も入れられます。
- d : 1 桁または 2 桁の日付 (例:12)
- dd :2 桁の日付 (例:02)
- m : 1 桁か 2 桁の月名 (例:12)
- mm : 2 桁の月名 (例:02)
- yy : 2 桁の年 (例:22)
- yyyy : 4 桁の年(例:2022)
似たような働きをするものにスカラー関数がありましたが、スカラー関数はパラメーターを操作して別の値を生成しています。
一方FORMAT句では値自体はそのままで、表示内容だけを変更している点で異なります。
日付に曜日を追加する方法
FORMAT句を使えば、日付から該当の曜日を表示させることも可能です。
日付の表示形式の代表的なパターンは以下の通りです。例えば(ddd)のように直接括弧を打ち込めば、括弧つきの曜日を表示できます。
- ddd : 曜日の省略名 (例:月)
- dddd : 曜日の正式名 (例:月曜日)
複数列の表示形式を変更する方法
1つのFORMAT句に対して、「列 ‘表示形式’」をカンマで区切りながら記入します。
例えばQUERY(A:D,”FORMAT A ‘m月d日(ddd)’,D ‘#,##0′”)のように指定すると、A列の日付とD列の数字の2つの表示形式を変更できました。
表示形式は「’シングルクォーテーション’」で囲うのを忘れないようにしましょう。
QUERY関数のLABEL句の使い方
LABEL区を使えば、1 つ以上の列のラベル(列見出し)を変更可能です。
QUERY(データ範囲,”LABEL 列 ‘ラベル名'”)のように、LABEL句に続けて列とラベル名を設定します。
※SELECT句に関しては省略可
1つのLABEL句に対して、「列 ‘ラベル名’」をカンマで区切りながら記入します。
例えばQUERY(A:D,”LABEL A ‘DATE’,C ‘NAME'”)のように指定すると、A列とC列の2つのラベル名がそれぞれ変更されました。
QUERY関数のクエリの種類
今回は値の表示形式を設定できる「FORMAT句」、見出し名を設定できる「LABEL句」の2つのクエリについてご紹介しました。QUERY関数で使えるクエリには他に以下のようなものがあります。
- select :特定の列を指定した順序で抽出します。
- where :条件を満たすセルだけを抽出します。
- group by: 列内の同じ要素の値を集計します。
- pivot :group byで抽出したデータに分類要素を追加します。
- order by 行を列の値で並べ替えます。
- limit :抽出する行数を指定します。
- offset:指定した数の最初の行をスキップします。
- label:列ラベルを設定します。(ピックアップ)
- format:特定の列の値を書式設定します。(ピックアップ)
- options :追加オプションを設定します(no_formatまたはno_values)