Google SheetsのQUERY関数の使い方-標準句と代替ツール

  • これを共有
Michael Brown

Google SheetsのQUERY機能を覚えている方は多いと思いますが、その可能性を探るにはまだ十分ではありません。 今日は、このスプレッドシートのスーパーヒーローを正しく理解しましょう。 そして、同じように注目すべきツールを紹介します。)

Google SheetsのQUERY関数は、スプレッドシートの中で最も強力な関数と考えられていることをご存知ですか? その独特の構文は、数十種類の操作をサポートしています。 その部分を分解して、一通り学んでみましょう。

    Google SheetsのQUERY関数の構文

    一見すると、Google SheetsのQUERYは、1つのオプションと2つの必須引数を持つ単なる関数に過ぎません。

    =QUERY(data, query, [headers])
    • データ は、処理する範囲です。 すべてがクリアになりました。

      注:Googleが定めた注意事項:各カラムには、テキスト、数値、ブーリアンなど、1種類のデータが入っていなければなりません。 異なる種類のデータがある場合、QUERYは最も多く出現するものを使用します。 その他の種類のデータは空のセルと見なされます。 奇妙ですが、覚えておいてください。

    • クエリ を処理する方法です。 データ Google SheetsのQUERY関数は、この引数に対して特殊な言語を使用します。 Google Visualization API クエリ言語 基本的には、select、group by、limitなど、関数に何をするかを指示するための特別な句(コマンド)の集合である。

      注)引数全体をダブルクォーテーションで囲み、値もクォーテーションで囲むこと。

    • ヘッダー はオプションで、データのヘッダ行数を示す必要がある場合に使用します。 引数を省略すると (以下同様)、Google Sheets QUERY がテーブルの内容に基づいてヘッダ行数を推測します。

    ここで、節とその役割について深く掘り下げてみましょう。

    Google Sheets の QUERY 計算式で使用する句

    クエリ言語は10個の節から構成されています。 SQLに慣れていない人は、一見すると怖く感じるかもしれません。 しかし、一度知ってしまえば、強力な表計算の武器を手に入れることができるようになることを約束します。

    この架空の学生とその論文題材のリストを使って、各条項を取り上げ、数式例を示していきます。

    そう、私も冥王星が惑星であるべきだと考える変人の一人だ :)

    ヒント:Google SheetsのQUERY関数は、1つの関数内で複数の句を使用できます。 すべてネストする場合は、必ず本記事の登場順に従ってください。

    選択(全列または特定の列)

    一番最初の句は 選ぶ - は、他のシートやテーブルから Google Sheets QUERY で返す必要のあるカラムを指示するために使用します。

    例1.すべての列を選択する

    各カラムを取得するためには 選ぶ を、アスタリスクで-。 select *

    =QUERY(Papers!A1:G11, "セレクト *")

    ヒント:省略した場合 選ぶ パラメータを指定した場合、Google Sheets QUERY はデフォルトですべてのカラムを返します。

    =QUERY(論文!A1:G11)

    例2.特定の列を選択する

    特定の列だけを抜き出すには、その列を 選ぶ の節があります。

    =QUERY(Papers!A1:G11, "select A,B,C")

    ヒント:関心のある列は、数式で言及したのと同じ順序でコピーされます。

    =QUERY(Papers!A1:G11, "select C,B,A")

    Google Sheets QUERY - Where句

    Google Sheets QUERY どこ は、取得したいデータに対する条件を設定するために使用されます。 つまり、フィルターの役割を果たすのです。

    この句を使用すると、Google SheetsのQUERY関数は、条件を満たす値を列で検索し、一致するすべての値を取得して返します。

    ヒント どこ がなくても機能します。 選ぶ の節があります。

    通常、条件を指定するために、特別なセットがあります。 事業者 をあなたに。

    • 単純比較演算子( 数値の場合 ): =, ,>,>=, <, <=.
    • 複素比較演算子( 文字列のための ): 含む, で始まる, で終わる, 一致する, != (一致しない/と等しくない), のような。 .
    • 論理演算子で 組み合わす : でも、でも、でも、でも .
    • の演算子。 空白/空でない : はnull、nullでない .

    ヒント:もしあなたが、このような膨大な数の演算子を再び扱わなければならないことに憤慨したり心配したりしているなら、私たちはあなたに同情します。 私たちのMultiple Vlookup Matchesは、すべてのマッチを見つけ出し、必要に応じてGoogle SheetsにQUERY式を構築してくれます。

    これらの演算子が式の中でどのように振る舞うか見てみましょう。

    例1. どこ 数で

    を追加します。 どこ を上記のGoogle SheetsのQUERYに追加すると、10個以上の月を持つ惑星の情報を得ることができます。

    =QUERY(Papers!A1:G11, "select A,B,C,F where F>=10")

    ヒント:F列は条件を満たしていることを確認するために取得すると書きましたが、これは完全にオプションです。 条件を持つ列を結果に含める必要はありません。

    =QUERY(Papers!A1:G11, "select A,B,C where F>=10")

    例2. どこ 文字列で

    • グレードが以下のいずれかであるすべての行を表示したい。 F または F+ .を使用することにします。 を含む 演算子を使用することができます。

      =QUERY(Papers!A1:G11, "select A,B,C,G where G contains 'F'")

      注)引用符で文章を囲むことを忘れないでください。

    • を持つすべての行を取得するには F を置き換えるだけです。 を含む を等号(=)で表します。

      =QUERY(Papers!A1:G11, "select A,B,C,G where G="F"")

    • まだ納品されていない論文(評点が不足しているところ)を確認するには、コラム G を空欄にします。

      =QUERY(Papers!A1:G11, "select A,B,C,G where G is null'")

    例3. どこ 日付入り

    Google SheetsのQUERYは、日付も扱えるようになりました。

    表計算ソフトは日付を通し番号で保存するため、通常はDATEやDATEVALUE、YEAR、MONTH、TIMEなどの特殊関数の力を借りなければならない。

    しかし、QUERYは日付を正しく入力するための方法を発見しました。 年月日 を追加し、yyyy-mm-ddのフォーマットで日付そのものを追加します。 日付 '2020-01-01'

    以下は、Speech dateが2020年1月1日以前のすべての行を取得する計算式です。

    =QUERY(Papers!A1:G11, "select A,B,C where B

    例4.複数の条件を組み合わせる

    ある期間を基準にするためには、2つの条件を組み合わせる必要があります。

    2019年秋に配信された論文を検索してみましょう。 最初の条件は、日付にします。 2019年9月1日以降 は、2番目の 2019年11月30日までに :

    =QUERY(Papers!A1:G11, "select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30')")

    あるいは、これらのパラメータをもとに論文を選択することもできますね。

    • 2019年12月31日までに( B )
    • はAかA+のどちらかのグレードがある( Gは'A'を含む )
    • またはB/B+ ( Gは'B'を含む )

    =QUERY(Papers!A1:G11, "select A,B,C,G where B

    ヒント:もう頭が爆発しそうだという人も、まだあきらめないでください。 条件の数に関係なく、これらの数式を完璧に構築してくれるツールがあります。 それを知るには、記事の最後にジャンプしてください。

    Google Sheets QUERY - Group By

    Google Sheets QUERY ふれこむ コマンドは行を連結するために使用されるが、行をまとめるためには、いくつかの集約関数を使用する必要がある。

    グループ別 は常に 選ぶ の節があります。

    残念ながら、私のテーブルには繰り返し値がないため、グループ化するものがありません。 そこで、少し調整してみます。

    例えば、すべての論文を3人の生徒が作成したとすると、それぞれの生徒の最高点を求めることができる。 しかし、それらは文字であるから、G列に適用すべきはMIN関数である。

    =QUERY(Papers!A1:G11, "select A,min(G) group by A")

    注)集計関数を使用しない場合は、どの列も 選ぶ A で複製する必要があります。 ふれこむ の節があります。

    Google Sheets QUERY - ピボット

    Google Sheets QUERY ピボット これは、ある列のデータを新しい列のある行に移し替え、それに応じて他の値をグループ化するものです。

    日付を扱う人にとっては、本当に発見が多いでしょう。 その出典欄から、すべての明確な年号がひと目でわかるようになりますよ。

    ピボット で使用されるすべてのカラムは 選ぶ 節は、集約関数でカバーする必要があります。 ふれこむ コマンドを実行します。 ピボット .

    今、私のテーブルには3人の学生しかいませんが、この関数で各生徒が作成したレポートの数を教えてくれるようにするつもりです。

    =QUERY(Papers!A1:G11, "select count(G) pivot A")

    Google Sheets QUERY - Order By

    これはとても簡単です :) 特定の列の値で結果をソートするために使用します。

    ヒント:以前のすべての節は、使用時にオプションです。 言い付ける を使用しています。 選ぶ を使用すると、デモのために少ない列を返すことができます。

    元のテーブルに戻り、レポートを講演日でソートしてみましょう。

    次のGoogle SheetsのQUERY式は、A、B、C列を取得すると同時に、B列の日付でソートします。

    =QUERY(Papers!A1:G11, "select A,B,C order by B")

    制限

    Google SheetsのQUERYは、最初に見つかったマッチの中からある量だけを取り出すことができると言ったらどうでしょう?

    さて、その 限界 節はそのためのもので、返す行数を指定した数で制限します。

    ヒント:ご自由にお使いください 限界 他の前節がない場合。

    この数式は、成績の列がマークを含む(空でない)最初の5行を表示します。

    =QUERY(Papers!A1:G11, "selectA,B,C,GここでG is not null limit 5")

    オフセット

    この節は、前節とは逆の意味です。 限界 は、指定された行数を取得します。 オフセット を飛ばし、残りを回収する。

    ヒント オフセット も他の句を必要としない。

    =QUERY(Papers!A1:G11, "selectA,B,C,GここでGはnull offset 5ではない")

    もし、両方を使おうとすると 限界 オフセット の場合、以下のようになります。

    1. オフセット は、先頭の行をスキップします。
    2. 制限 は、以下の行数を返します。

    =QUERY(Papers!A1:G11, "select A,B,C,G where G is not null limit 3 offset 3")

    11行のデータ(最初の1行はヘッダーで、Google SheetsのQUERY関数はそれをうまく理解しています)のうち、offsetは最初の3行をスキップします。 Limitは次の3行(4行目から始まります)を返します。

    Google Sheets QUERY - ラベル

    Google Sheets QUERY ラベル コマンドを使用すると、列のヘッダー名を変更することができます。

    ヒント:その他の句はオプションで ラベル もあります。

    を置く。 ラベル もし、いくつかのカラムの名前を変更する場合は、カラム-ラベルの新しいペアをコンマで区切ってください。

    =QUERY(Papers!A1:G11, "select A,B,C label A 'Name', B 'Date')")

    フォーマット

    があります。 形式 そのためには、希望する書式の後ろに立つパターンが必要です。

    補足:format節はGoogle SheetsのQUERYの中でも独壇場です。

    =QUERY(Papers!A1:G11, "select A,B,C limit 3 format B 'mm-dd, yyyy, ddd')")

    ヒント:Google SheetsのQUERYで使える日付フォーマットをいくつか紹介しましたが、その他のフォーマットはスプレッドシートから直接取得することができます。 フォーマット> 数字> その他のフォーマット> カスタム数字フォーマット .

    オプション

    こちらは、結果データに関するいくつかの追加設定を行うために使用します。

    例えば、次のようなコマンドです。 no_values(ノーバリュー は、フォーマットされたセルのみを返します。

    QUERY公式の最速構築法 - 複数Vlookupのマッチング

    Google SheetsのQUERY機能がいかに強力であっても、それを使いこなすには学習が必要です。 小さなテーブルで各節を個別に説明するのと、いくつかの節とはるかに大きなテーブルですべてを正しく構築しようとするのは全く別の話です。

    そこで、Google Sheets QUERYを使いやすいインターフェイスに着せ替え、アドオンとすることにしたのです。

    なぜVLOOKUPマッチは数式より複数が良いのですか?

    さて、このアドオンでは 敢て :

    • 目星がつく どれもこれも 条項 アドオンで複雑な条件をたくさん作るのは本当に簡単です:必要な数だけ、その順番にもかかわらず、必要な数だけマッチを取得します。

      注)現時点では、以下の条項をツールに組み込んでいます。 select、where、limit。 オフセット もし、あなたのタスクが他の条項も必要とするならば、以下にコメントしてください - おそらく、あなたは私たちの改善の助けになるでしょう ;)

    • 心得る にゅうしゅつりょくぎょうしゃ : ドロップダウンリストから選ぶだけです。
    • あたまをひねる 日付と時刻の入力方法 アドオンを使えば、スプレッドシートのロケールに基づいて、従来通り入力することができます。

      ヒント:ツールには、さまざまなデータ型の例を示すヒントが常に用意されています。

    として ボーナス ができるようになります。

    • プレビュー の両方があります。 の結果と式
    • 作る クイックアジャスト を、あなたの基準に合わせます。
    • を選択します。 置き場所
    • 入れる 両者の結果 QUERY式または かわりに 価値観

    このGIFはスピードアップしていますが、すべての条件を微調整して結果を得るのに、1分もかかっていません。

    このアドオンがどのように機能するのか、詳細なビデオをご覧ください。

    Google Workspace Marketplaceからアドオンを入手し、ぜひ試してみてください。

    また、チュートリアルページやトップページもご覧ください。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。