まずは抽出したいデータが含まれる列をすべて取り出す
まずは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関数のオプションを利用してデータ分析」で紹介していますので、併せて御覧ください。