Amazonで見るセール会場へ

Googleスプレッドシート│IMPORTRANGEを他の関数と組み合わせる方法

IMPORTRANGEデータを取ってくるだけの関数です。

絞る、並べる、数える、といったことは自分ではしません。

他の関数で包むことで、その場で加工できます。

よく使う組み合わせを、目的別にまとめます。

やりたいこと包む関数
条件で絞る、列を選ぶ、集計するQUERY
条件で絞るだけFILTER
キーで1件引くVLOOKUP
件数や合計を出すCOUNTIF SUMIF
並べ替えるSORT
条件付き書式で使う直接は使えない

この記事の式はすべて、先に一度アクセスを許可してある前提です。別シート・別ファイルを参照する方法で先に通しておいてください。

目次

QUERYで絞る|いちばん使う

取ってきたデータを、必要な行と列だけにできます。

=QUERY(
  IMPORTRANGE("URL", "シート1!A:E"),
  "select Col1, Col3 where Col2 = '東京'",
  1
)

ここが最大のつまずきどころです。

普通の QUERYselect A, C のように列の文字で書きます。

ところが IMPORTRANGE を包んだ場合は、Col1 Col2 のように番号で書きます

取ってきた範囲の左から数えた番号です。

元のシートでC列でも、取ってきた範囲がC列から始まっていれば Col1 になります。

最後の1は見出し行の数

3つ目の 1 は「1行目は見出し」という意味です。

これを省くと、見出しがデータとして混ざったり、数字の列が文字として扱われたりします。

結果がおかしいときは、まずここを疑ってください。

複数の条件を書く

"select * where Col2 = '東京' and Col4 > 1000"

"select * where Col2 = '東京' or Col2 = '大阪'"

"select * where Col2 = '東京' order by Col4 desc"

文字はシングルクォート、数字はそのまま書きます。

並べ替えまで QUERY の中でできるので、SORT を別に使う必要はありません。

セルの値を条件にする

条件を式に直接書かず、セルから読ませたい場合は文字列をつなぎます。

=QUERY(
  IMPORTRANGE("URL", "シート1!A:E"),
  "select * where Col2 = '" & B1 & "'",
  1
)

B1に「東京」と入れれば、そこだけ絞られます。

シングルクォートの位置に注意してください。

条件が数字ならクォートは要りません。

FILTERで絞る|書き方が近い

列を選ばず、行だけ絞りたいなら FILTER のほうが短く書けます。

=FILTER(
  IMPORTRANGE("URL", "シート1!A:E"),
  INDEX(IMPORTRANGE("URL", "シート1!A:E"), 0, 2) = "東京"
)

FILTER は条件の列を別に指定する必要があるため、IMPORTRANGE を2回書くことになります。

INDEX(..., 0, 2) は「2列目を丸ごと」という意味です。

式が長くなるので、条件が1つでも QUERY のほうが読みやすいことが多いです。

VLOOKUPで引く

取ってきた表を、そのまま検索範囲として渡します。

=VLOOKUP(
  A2,
  IMPORTRANGE("URL", "シート1!A:E"),
  3,
  FALSE
)

3つ目の 3 は、取ってきた範囲の左から3列目です。

元のシートの列名ではありません。

ここも QUERY と同じ考え方です。

遅いと感じたら

この書き方だと、1行ごとに外部ファイルを読みに行きます

行数が多いと目に見えて重くなります。

作業用のシートを1枚用意して、そこに IMPORTRANGE を1回だけ書く方法をおすすめします。

  1. 「取込」シートを作り、A1=IMPORTRANGE(...) を1つだけ置く
  2. 他の式は 取込!A:E を参照する

読み込みが1回で済み、式も短くなります。

COUNTIFやSUMIFで数える

=COUNTIF(IMPORTRANGE("URL", "シート1!B:B"), "東京")

=SUMIF(
  IMPORTRANGE("URL", "シート1!B:B"), "東京",
  IMPORTRANGE("URL", "シート1!D:D")
)

0になってしまうとき

エラーは出ないのに 0 が返る、という相談が多い組み合わせです。

順に確認してください。

確認すること直し方
アクセスを許可していない先に =IMPORTRANGE(...) だけを別のセルに置き、許可を押す
前後に空白が入っている元データを TRIM で整える
数字が文字として入っている元のセルの表示形式を数値にする
範囲がずれている数える列と合計する列の高さを揃える

いちばん多いのは1つ目です。

他の関数で包むと「アクセスを許可」のボタンが出ないため、承認されないまま 0 になります。

面倒でも、最初は IMPORTRANGE 単体で1回動かしてから包んでください

条件付き書式では直接使えない

「別ファイルの値を見て色を付けたい」はよくある要望です。

条件付き書式のカスタム数式に IMPORTRANGE は書けません。

そもそもカスタム数式は、他のシートすら直接は参照できない仕様です。

他のシートを見たい場合は INDIRECT を挟みます。

ただし別ファイルは INDIRECT でも参照できません

手順としては次のとおりです。

  1. 作業用のシートに IMPORTRANGE でいったん取り込む
  2. 条件付き書式では、そのシートを INDIRECT 経由で参照する
=A2 = INDIRECT("取込!A2")

ひと手間かかりますが、これが確実な方法です。

よくあるエラー

出るもの意味と対処
#REF!未承認か権限なし。単体で置いて「アクセスを許可」
インポート範囲の内部エラー範囲の書き方かシート名の誤り。時間をおくと直る場合もある
#VALUE!包んだ関数の引数が合っていない。列番号を確認
読み込みが終わらない取ってくる範囲が広すぎる。列を絞る
更新されない反映には遅れがある。急ぐ用途には向かない

取ってくる範囲は必要な列だけにしてください。

A:Z のように広く取ると、そのぶん重くなります。

IMPORTRANGE関数そのものの使い方はこちらです。

まとめ

  • 絞る・選ぶ・並べるを1つで済ませるなら QUERY
  • 包んだときの列は Col1 や数字。元シートの列名ではない
  • QUERY の3つ目の引数(見出し行の数)を省かない
  • COUNTIF が0になるのは、たいてい承認していないから
  • 条件付き書式では直接使えない。取込シートを挟んで INDIRECT
  • 重いときはIMPORTRANGE を1か所にまとめる

基本の書き方とアクセス許可は別シート・別ファイルを参照する方法にまとめています。

この記事は2026年9月9日時点の表示にもとづいています。

Google Workspace を学べる本と、作業が捗る機材

スプレッドシートもドキュメントも、基本の型を知ると作業時間が目に見えて減ります。

Google Workspace を学べる本

技術評論社
¥1,870 (2026/09/15 20:36時点 | Amazon調べ)
\Amazonで商品を見る/
Amazon
\楽天市場で商品を見る/
楽天市場
\Yahoo!ショッピングで商品を見る/
Yahooショッピング
\Amazonで商品を見る/
Amazon
\楽天市場で商品を見る/
楽天市場
\Yahoo!ショッピングで商品を見る/
Yahooショッピング
インプレス
¥2,803 (2026/09/15 20:36時点 | Amazon調べ)
\Amazonで商品を見る/
Amazon
\楽天市場で商品を見る/
楽天市場
\Yahoo!ショッピングで商品を見る/
Yahooショッピング

作業が捗る機材

\Amazonで商品を見る/
Amazon
\楽天市場で商品を見る/
楽天市場
\Yahoo!ショッピングで商品を見る/
Yahooショッピング
\Amazonで商品を見る/
Amazon
\楽天市場で商品を見る/
楽天市場
\Yahoo!ショッピングで商品を見る/
Yahooショッピング

選び方をもっと詳しく

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

WAZAの有料記事のサブスクリプションも開始しました。

目次