• 公開日:

スプレッドシートのQUERY関数で複数の範囲を結合する方法

こちらの記事では、スプレッドシートのQUERY関数で複数の範囲を結合する方法をご紹介します。

基本的な複数範囲の結合方法はもちろん、別シート同士、IMPORTRANGE関数を組み合わせたファイルをまたいだ結合についてもご紹介します。ぜひ参考にしてみてください。

スプレッドシートのQUERY関数で複数の範囲を結合する方法

QUERY関数を用いて、複数の範囲を結合する記述は以下の通りです。

=QUERY({範囲始点①:範囲終点①;範囲始点②:範囲終点②},"select*")

上記の関数内で、「範囲始点」と「範囲終点」を置き換えることによって、結合をすることができます。

結合する表

今回はこちらのふたつの表を結合します。手順は以下の通りです。

式入力

結合した表を記載したいセルに「=QUERY({A2:G10;A15:G22},"select*")」と式を入力します。

完了

ふたつの表が結合されました。以上が、スプレッドシートのQUERY関数で複数の範囲を結合する、基本的な方法です。

指定した列のみを結合する方法

指定

続いて、指定した列のみを複数の表から抽出して、結合する方法をご紹介します。今回は、ふたつの表のB列・D列・G列を結合します。

=QUERY({範囲始点①:範囲終点①;範囲始点②:範囲終点②},"select Col...,Col...,Col...")

列はアルファベットではなく「Col1,Col2,…」のように「列番号」で指定します。列番号は左から数えるので、今回結合するのは「Col2」「Col4」「Col7」です。

なお、それぞれの範囲が同じ列数でなければエラーになるので、注意しましょう。具体的な手順は以下の通りです。

記述

結合した表を記載したいセルに「=QUERY({A2:G10;A15:G22},"select Col2,Col4,Col7")」と式を入力します。

完了

ふたつの表が結合されました。以上がQUERY関数で複数の範囲を、列指定の上、結合するための方法です。

別シートの複数範囲をQUERY関数で結合する方法

QUERY関数を用いて、別シートの範囲を結合する記述は以下の通りです。

手順は上記の「スプレッドシートのQUERY関数で複数の範囲を結合する方法」内で記載している内容と同様ですが、関数に記述を加える必要があります。

=QUERY({'シート名①'!範囲始点:範囲終点;'シート名②'!範囲始点:範囲終点},"select*")
結果

範囲始点の前に、範囲が記載されているシート名を入力します。上記の画面は、「売上表」というシートに記載されている表と、「Sheet1」という別シートに記載されている表を結合したものです。

「=QUERY({'売上表'!A2:G10;Sheet1!A3:G10},"select*"」と入力すると、指定範囲を結合したデータが出力されます。

別ファイルの複数範囲をQUERY関数で結合する方法

別ファイルの複数範囲の結合をQUERY関数で行うには、IMPORTRANGE関数を用いる必要があります。

=QUERY({IMPORTRANGE("https://●●","シート名!$範囲始点:$範囲終点");IMPORTRANGE("https://▲▲","シート名!$範囲始点:$範囲終点")},"select*)

こちらも、手順は上記の「スプレッドシートのQUERY関数で複数の範囲を結合する方法」内で記載している内容と同様です。

関数内にIMPORTRANGE関数を加え、スプレッドシートのURL、シート名、範囲始点、範囲終点を当てはめます。

結果

「=QUERY({IMPORTRANGE("https://....","Sheet1!$A1:$G10");IMPORTRANGE("https://...";"Sheet2!$A1:$G10")},"select*)")」と入力すると、指定範囲を結合したデータが出力されます。