ホーム Googleクラウド 【スプレッドシート】条件に当てはまるデータを抜き出す「Query関数」の初歩【GSP010101】

【スプレッドシート】条件に当てはまるデータを抜き出す「Query関数」の初歩【GSP010101】

106455
0

ある範囲から必要なデータだけを取り出す「Query関数」

データをまとめているときなどに「ある項目にあてはまるデータだけを抜き出したい」という場面は多くあるかと思われます。
このようなときに活躍するのが「Query関数」。指定した条件に一致するデータと項目を簡単に抜き出すことができます。

Query関数はGoogleスプレッドシートでのみ利用できる関数です。EXCELにこの関数はありません(2019年1月現在)。

まずは抽出したいデータが含まれる列をすべて取り出す

まずはQuery関数の一番簡単な使い方(=書き方)です。
図のようなシートを元に説明します。元データの表にある項目から「みかん」が含まれる行だけを取り出します。
最も単純なQuery関数は以下の書式で利用できます。query関数のカッコ内の最後にある「true」は選択範囲の1行目に見出し行を出力させるオプションです(falseにすると見出し行は表示されない)

=query(抽出元データの範囲,”where 検索対象の列番号 = ‘検索したい内容'”,true)

この元データから「A列に みかん が含まれる行を範囲A9:D15から」抜き出すには以下のように入力します(今回はセルA2に入力しています、見出しも範囲選択に含めます)。

=query(A9:D15,“where A = ‘みかん'”,true)

関数内にSELECTを追加して必要な項目だけを抜き出す

Query関数内にSELECTを指定することにより元データの中から利用したい列だけ選択して抜き出すことができます。

SELECTを使用して「A列に みかん が含まれる行を範囲A9:D15から、品物と数量のみ」抜き出すには以下のように入力します(今回はセルA2に入力しています、見出しも範囲選択に含めます)。

=query(A9:D15,“SELECT A,C where A = ‘みかん'”,true)

SELECTのあとを半角スペースで開けて A,Cのようにカンマで区切って取り出したい列を指定します。

さらに検索条件を指定する

いままでの例では「A列が みかん のもの」をwhere以降で指定していましたが、この検索条件に「A列がみかん かつ 数量が40個以上のデータ」のように複数指定が可能です(先程のSELECTは省略して考えます)。

例)A列がみかん かつ 数量が40個以上のデータを抜き出す

=query(A9:D15,“where A = ‘みかん’ and D >=40”,true)

例)A列が みかん または りんご のデータを抜き出す

=query(A9:D15,“where A = ‘みかん’ or A = ‘りんご'”,true)

Query関数にはこの他にもさまざまなオプションがあります。
オプションに関する説明は「Query関数のオプションを利用してデータ分析」で紹介していますので、併せて御覧ください。