GoogleスプレッドシートのQUERY関数を徹底解説【SELECT句】

スプレッドシートのquery関数

GoogleスプレッドシートのQUERY関数の使い方や、基本的な構成についてご紹介します。今回は特にQUERY関数のSELECT句について詳しい解説や、演算子・集計関数・スカラー関数と組み合わせて使う方法について解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

スプレッドシートのQUERY関数の使い方

QUERY関数ではGoogle Visualization API のクエリ言語を使用することで、様々な方法でデータ抽出が可能です。QUERY関数の要素と、クエリの種類について簡単にご紹介します。

QUERY関数とは?

スプレッドシートのquery関数とは

QUERY関数は対象の「データ」範囲に、指定した「データ操作(クエリ)」を行います。

クエリはデータに対して実行する「処理・命令」のようなイメージです。

クエリにはそれぞれ異なる機能を持つ10種類の句が用意されており、各クエリや関数を組み合わせることで様々な方法でデータ抽出することができます。

QUERY関数の構成要素:(データ, クエリ, [見出し])

3つ目の要素の「見出し」には、列見出しの行数を入力します。

例えば「2」を指定すると見出しが2行と認識されるため、2行目まではデータに含まれません。

「見出し」は省略可能で、省略または「-1」を指定するとデータ内容に基づいて推測されます。

要素3:「見出し」は基本的に省略でOKです。

QUERY関数のクエリの種類

クエリの種類には以下のようなものがありますが、今回はSELECT句について詳しく解説します。SELECT句は最も基礎的なクエリで、ほかにWHERE句やGROUP BY句などもよく使用されます。

スポンサーリンク

QUERY関数のSELECT句の基本的な使い方

QUERY関数に、SELECT句を指定する方法について解説します。まずはSELECT句の基本的な機能を理解するために、データから特定の列だけを抽出してみましょう。

特定の列だけを抽出する

query関数のselect句の使い方

QUERY関数のSELECT句は、対象の「データ」から特定の列を指定した順序で抽出します。

例えば「=QUERY(A:D,”SELECT C”)」のように、SELECT句に列(C)を設定してみましょう。※クエリはダブルクォーテーション内に記入してください。

列の抽出:=QUERY(データ範囲,”SELECT ” ,[見出し])

query関数のselect句の使い方

対象のデータ範囲の中から、C列だけが抽出されました。

列を入れ替えて抽出する

query関数のselect句の使い方

SELECT句が列を指定した順序で抽出する点を利用すると、列の入れ替えが可能です。

「=QUERY(A:D,”SELECT C,B,A,D”)」のように、順序だけ入れ替えてデータを抽出してみましょう。

複数列の抽出:=QUERY(データ範囲, “SELECT 列1,列2,列3,列4“, [見出し])

対象のデータ範囲が、すべて抽出されました。

F列とH列に注目すると、元データと順序が入れ替わっているのが分かります。

すべての列を抽出する

SELECT句にアスタリスク「*」を指定すると、データ範囲のすべての列が元の順序で抽出されます。

またSELECT句自体が指定されていない場合も、同様にすべての列が抽出されます。

すべての列を抽出:=QUERY(データ範囲, “SELECT *”, [見出し])

スポンサーリンク

SELECT句と算術演算子を組み合わせる方法

query関数のselect句の使い方

SELECT句に演算子を組み合わせれば、特定の列の演算処理後のデータが抽出可能です。

例えば「=QUERY(A:D,”SELECT D*1.08″)」のように、D列に税率(1.08)を掛けた値をSELECT句で抽出してみましょう。

算術演算子:合計(+)、差( – )、積( * )、商( / )

query関数のselect句の使い方

対象のデータ範囲から列(D)を抽出されました。

元データと比較してみると、SELECT句で抽出したF列には1.08が乗算されているのが分かります。

演算子の指定:=QUERY(データ範囲,”SELECT 列+or-or*or/値”,[見出し])

query関数のselect句の使い方

SELECT句では、一度に複数の演算結果を抽出することも可能です。

例えば「=QUERY(A:D,”SELECT D*1.08,D-50″)」のようにD列に乗算と減算の2つの演算処理を行った結果を、SELECT句で抽出してみましょう。

複数の演算子を指定:=QUERY(データ範囲,”SELECT 列*値,列-値”[見出し])

query関数のselect句の使い方

対象のデータ範囲から列(D)が、F列とG列に抽出されました。

元データと比較してみるとF列には1.08が乗算、G列には50が減算されているのが分かります。

スポンサーリンク

SELECT句と集計関数を組み合わせる方法

query関数のselect句の使い方

SELECT句に集計関数を組み合わせれば、特定の列の集計処理後のデータが抽出可能です。

例えば「=QUERY(A:D,”SELECT sum(D)”)」のようにSUM関数でD列を合計した結果を、SELECT句で抽出してみましょう。

SUM(列):指定した列のデータから、すべての値の合計を返す関数です。

query関数のselect句の使い方

対象のデータ範囲から、列(D)の合計値が抽出されました。

集計関数の指定:=QUERY(データ範囲,”SELECT sum()”)

query関数のselect句の使い方

SELECT句に使える集計関数には合計値を返すSUMを含め、合計5つの関数があります。カンマで区切りながら、1度に複数の集計関数を使用することも可能です。

  • avg( ):平均値を返します。
  • count( ):要素数を返します。
  • max( ):最大値を返します。
  • min( ):最小値を返します。
  • sum( ):値の合計を返します。
query関数のselect句の使い方

対象のデータ範囲から、それぞれの集計関数の処理結果が抽出されました。

5列分の集計結果が抽出されていますが、関数を入力しているのはF1セルだけです。

複数の集計関数を指定:
=QUERY(データ範囲,”SELECT sum(),count(),max(),min(),avg()”)

スポンサーリンク

SELECT句とスカラー関数を組み合わせる方法

query関数のselect句の使い方

SELECT句にスカラー関数を組み合わせれば、特定のデータを基にした別の値を生成できます。

例えば「=QUERY(A:D,”SELECT month(A)+1″)」のように、A列のデータを基に「月の値」を生成した結果を、SELECT句で抽出してみましょう。

month(列):日付または日時の値から、ゼロから始まる月の値を返す関数です。月をゼロから数え始めるため、月の値に1をプラスしています。

query関数のselect句の使い方

対象のデータ範囲(日付)から、「月の値」を生成した結果が抽出されました。

月を抽出:=QUERY(データ範囲,”SELECT month()+1″)

query関数のselect句の使い方

SELECT句には、一度に複数のスカラー関数をセットすることも可能です。

「=QUERY(A:D,”SELECT year(A),month(A)+1,day(A)”)」のように、A列のデータから「年の値・月の値・日付」の3つを生成し、結果をSELECT句で抽出してみましょう。

年月日を抽出:=QUERY(データ範囲,”SELECT year(),month(+1,day()”)

query関数のselect句の使い方

対象のデータ範囲(日付)から、「年の値・月の値・日付」を生成した結果が抽出されました。スカラー関数には年月日を生成するもの以外にも、以下のような種類があります。

  • year( ):日付または日時の値から、年の値を返します。
  • month( ):日付または日時の値から、ゼロから始まる月の値を返します。
  • day( ):日付または日時の値から、日付を返します。
  • hour( ):日時または時刻の値から、時間の値を返します。
  • minute( ):日時または時刻の値から、分の値を返します。
  • second( ):日時または時刻の値から、秒の値を返します。
  • millisecond( ):日時または時刻の値から、ミリ秒部分を返します。
  • quarter( ):日付または日時の値から、四半期を1~4の数字で返します。
  • dayOfWeek( ):日付または日時の値から、曜日を1~7の数字で返します。
  • now( ):GMTタイムゾーン(日本はGMT+9)で、現在の日時を表す日時値を返します。
  • dateDiff( ):2つの日付値または日時値の差を、日数で返します。
  • toDate( ):指定された値を日付値に変換します。
  • upper( ):指定された文字列を大文字で返します。
  • lower( ):指定された文字列を小文字で返します。
query関数のwhere句の使い方

QUERY関数No2

  • WHERE句の使い方
  • 複数条件の設定
  • 文字列の比較演算子
タイトルとURLをコピーしました