はじめに
クエリ関数のデータ範囲をIMPORTRANGEで指定する!
これまでシリーズで「クエリ関数」について紹介して来ました。これまでは同じスプレッドシートのファイルの中にクエリ関数を書いてデータ抽出を行って来ましたが、データ元の範囲指定をIMPORTRANGE関数で指定することで、スプレッドシートをもっと便利に使うことができます!
ということで、今回は「クエリ関数のデータ範囲をIMPORTRANGEで指定する」方法を紹介します!
これまでのクエリ関数シリーズの記事ははこちら
IMPORTRANGE関数についての記事はこちら
IMPORTRANGE関数
この関数は、複数のスプレッドシートがあった場合、あるスプレッドシートから別のスプレッドシートのデータを参照する時に使う関数です。
※EXCELでは、別ブックの参照は、「=」を使ってマウスで選択するだけでできますが、スプレッドシートではそのような操作ができません。
IMPORTRANGE関数についての詳しい記事はこちら
使い方
それでは早速ですが、クエリ関数の範囲の指定を、IMPORTRANGE関数で行いたいと思います。
クエリ関数の構文
クエリ関数の構文はこうでしたね。
= QUERY( 範囲, “式”)
第1引数に「範囲」を指定して、第2引数に、クエリ式を指定します。
この第1引数にIMPORTRANGE関数を利用することで、別スプレッドシートのデータを元にクエリ関数を実行することができます。
【サンプル】
次の2つのスプレッドシートを用意しました。
元のデータが入っている「スプレッドシートA」
スプレッドシートAを参照して、クエリ関数を実行する「スプレッドシートB」
まずは、範囲の部分に入力するIMPORTRANGE関数です。
=IMPORTRANGE(”スプレッドシートキー”,”‘シート名’!範囲の文字列”)
引数は「スプレッドシートキー」と「シート名!範囲の文字列(参照する範囲)」になります。
※スプレッドシートキーは、「**********」だとします。ご自身のものはきちんといれて下さい。
分からない方はこちらを参照して下さい。
スプレッドシートBから、スプレッドシートAを参照するので、スプレッドシートAのスプレッドシートキーが必要です。
=IMPORTRANGE(“**********”,”‘元データ’!A1:H”)
こんな感じですね。
こいつを、クエリ関数の範囲のところに指定してやります。
=QUERY(IMPORTRANGE(“**********”,”‘元データ’!A1:H”),”式”)
これだけです。
一点だけ注意としては、IMPORTRANGE関数で範囲を指定した場合は、列指定が、「A」とか「B」とかではなく、指定した範囲の一番左の列を「Col1」とした「Col2」「Col2」の指定の方法でないとエラーが出ちゃいます。
サンプルを使って、A列「名前」を、条件「女性」で抽出していきます。
数式は次のようになりますね。
=QUERY(IMPORTRANGE(“**********”,”‘元データ’!A1:H”),”select Col1 where Col3=’女'”)
範囲はA列が一番左なので、”select”には”Col1″を指定。条件の”where”には、C列の性別なので”Col3″を指定しています。
入力してみます。
女性の名前が抽出されました(^^)
まとめ
IMPORTRANGE関数で他のスプレッドシートを参照することで、元のデータの管理と、表示用のスプレッドシートを分割することができます。
元のデータをいろいろなスプレッドシートで利用することも出来るので非常に便利です!
コメント