MENU

スプレッドシートの上級関数を使いこなすと、業務スピードが変わる【QUERY・ARRAYFORMULA・IMPORTRANGE ほか10選】

「ちょっと聞いてみたい」だけでもOK! ツールや業務効率化についての相談をすべて1対1で丁寧にお答えします。 まずはお気軽にメッセージをどうぞ!LINE公式アカウントはこちら!

「関数ってSUMとVLOOKUPくらいしか使っていない」という方は多いと思います。でも、スプレッドシートには中級者以上が使う関数が多数あり、これらを覚えると「2時間かかっていた集計が5分で終わる」という体験が現実に起きます。難しそうに見えますが、使い方さえ分かれば実務の中で自然に使えるようになります。

  • 毎回同じ集計をやり直しているけれど、もっと効率的な方法があるはず
  • VLOOKUPしか使っていなくて、もっと便利な関数があると聞いたが何を覚えればいいか分からない
  • 関数の本を買ったけれど難しすぎて、どれが実務で使えるのかピンとこない

本記事では、業務で実際に役立つGoogleスプレッドシートの上級関数10選を、ビジネス場面での用途・具体的な数式例・初心者が間違えやすいポイントとともに解説します。一度覚えると「あの頃はなんであんな手間をかけていたんだろう」と感じるほど、業務の見え方が変わります。


目次

はじめに:上級関数を覚えると業務の何が変わるのか

スプレッドシートの基本関数(SUM・AVERAGE・VLOOKUP・IF)は多くの方が使っています。上級関数との違いは「できることの幅」です。

基本関数は「1つのセルに1つの答えを出す」ものが多いのに対し、上級関数は「複数の行を一気に処理する」「別ファイルのデータを参照する」「SQLのようなデータ抽出ができる」など、大量のデータを少ない手間で扱えます。

上級関数を使うことで削減できる作業時間は、使い方によっては1日30分〜1時間以上になることもあります。毎日30分が減れば、1年で120時間以上が手に入ります。

それでは「この関数を覚える順番」の推奨ロードマップを先に示してから、各関数の詳細を解説していきます。

習得ステップ関数覚える理由
Step1(すぐ使える)ARRAYFORMULA / FILTER / UNIQUE覚えやすく、業務への即効性が高い
Step2(仕事の質が上がる)QUERY / XLOOKUP / SUMIFS複雑な集計・抽出をシンプルに解決できる
Step3(差がつく応用)IMPORTRANGE / INDIRECT / TEXTJOIN / IFSファイル連携・動的参照など応用的な使い方
関数比較表

関数1:QUERY(クエリ)

スプレッドシート関数の中で、最も「できることが多い」関数です。SQLのような書き方でデータを抽出・並べ替え・集計できます。

どんな業務で使えるか:全国の営業データから「今月・東京エリア・達成率80%以上」の案件だけを抽出して報告資料に使う場面が典型例です。手動でフィルターをかけてコピーペーストする作業が不要になり、元データが更新されるたびに抽出結果も自動更新されます。

数式例:


=QUERY(A:E, "SELECT A, B, D WHERE C = '東京' ORDER BY D DESC", 1)

上の数式の意味:A〜E列のデータから、C列が「東京」の行だけを抽出して、A列・B列・D列を表示する。D列で降順に並べ替える。最後の`1`はヘッダー行の行数です。

初心者が間違えやすいポイント:WHERE条件の文字列は `’シングルクォーテーション’` で囲む必要があります(ダブルクォーテーションではない)。また、列の指定は `A` `B` `C` のように英字で行います(列番号の数字ではない)。日本語の列名は使えません。

QUERY関数の書き方はSQLに似ています。SQLを知っていればすぐに使えます。知らない方は「SELECT(取り出す列)WHERE(絞り込み条件)ORDER BY(並べ替え)」の3つのキーワードだけ覚えると、基本的な使い方はほぼカバーできます。


関数2:ARRAYFORMULA(アレイフォーミュラ)

「1つの数式を1列全体に適用する」ための関数です。本来なら1行ずつコピーして貼り付けなければならない数式を、1つのセルに書くだけで全行に適用できます。

どんな業務で使えるか:受注管理表で「単価(B列)×数量(C列)の金額(D列)」を1000行分に適用する場面に最適です。通常はD2に数式を書いてD1000まで引っ張ってコピーしますが、ARRAYFORMULAならD2の1セルに書くだけで完結します。新しいデータが1001行目に追加されると、自動的に計算が伸びます。

数式例:


=ARRAYFORMULA(IF(A2:A100<>"", B2:B100 * C2:C100, ""))

上の数式の意味:A2からA100のうち、空白でないセルの行について、B列とC列の積を計算して表示する。

ARRAYFORMULA × VLOOKUPの組み合わせ:ARRAYFORMULAはVLOOKUPと組み合わせると特に強力です。全行に対してVLOOKUPを一括適用できます。


=ARRAYFORMULA(IF(A2:A100<>"", VLOOKUP(A2:A100, 商品マスタ!A:C, 2, FALSE), ""))

この数式は「A列の商品コード全行に対して、商品マスタシートから商品名を一括取得する」という処理です。100行分のVLOOKUPをセル1つで書けます。

初心者が間違えやすいポイント:ARRAYFORMULAは数式の「外側」に書きます。`=IF(…)` の外側に `ARRAYFORMULA()` を被せる形です。また、ARRAYFORMULAが入っているセルに手入力で値を書き込もうとするとエラーになります。ARRAYFORMULA対象の列はすべて数式で管理するか、ARRAYFORMULA列を別の列に分けて管理してください。

1000行分のセルに個別にIF計算を書いていた作業が、ARRAYFORMULA1行で完結します。スプレッドシートの動作も軽くなります。


関数3:IMPORTRANGE(インポートレンジ)

別のGoogleスプレッドシートのデータを、リアルタイムで参照して表示する関数です。

どんな業務で使えるか:各部署が個別ファイルで管理している売上データを、本部の統合ダッシュボードに自動で集約する場面に使います。各部署の担当者がそれぞれのファイルを更新すると、本部の統合シートにも自動で反映されます。「他部署のシートからデータをコピーする」という手作業が不要になります。

数式例:


=IMPORTRANGE("スプレッドシートのURL", "Sheet1!A1:D100")

上の数式の意味:指定したURLのスプレッドシートの、Sheet1のA1からD100の範囲を参照して表示する。

IMPORTRANGE関数は初回使用時に「アクセスを許可」というボタンが表示されます。これを押さないとデータが表示されません。また、参照元ファイルの編集権限がないアカウントからは参照できません。権限の設定を事前に確認してください。

初心者が間違えやすいポイント:URLは `”` ダブルクォーテーションで囲んで文字列として渡します。また、IMPORTRANGEが参照しているファイルが削除・移動されたり、アクセス権が変わったりすると参照エラーになります。重要なデータはIMPORTRANGEに頼り切らず、定期的に元ファイルの存在確認をしておくことをおすすめします。


関数4:INDIRECT(インダイレクト)

セルに書かれた文字列を「セルの参照先」として読み込む関数です。

どんな業務で使えるか:月別シートが12枚ある月次管理ファイルで、「今見たい月をドロップダウンで選ぶと、その月のデータが自動で集計表示される」仕組みを作れます。プルダウンで「4月」「5月」と切り替えるだけで、グラフも集計も自動で切り替わります。

数式例:


=INDIRECT("'"&A1&"'!B2:B100")

上の数式の意味:A1セルに書かれたシート名のシートのB2:B100を参照する。A1が「4月」なら「4月」シートを、「5月」なら「5月」シートを参照する。シート名にスペースや日本語が含まれる場合は `’` シングルクォーテーションで囲む必要があります。

初心者が間違えやすいポイント:シート名に日本語・スペースが含まれる場合、`’` シングルクォーテーションで囲まないと `#REF!` エラーになります。また、参照するシートが存在しない名前を入力するとエラーになるため、ドロップダウンに存在するシート名以外は選べない入力規則を設定しておくとミスが防げます。


関数5:XLOOKUP(エックスルックアップ)

VLOOKUPの進化版です。VLOOKUPの制約(検索列は必ず左端・右から左への検索不可・見つからない場合のエラー処理が複雑)をすべて解消した関数です。

どんな業務で使えるか:社員番号(A列)を入力すると氏名(C列)を引く場面でVLOOKUPを使ってきた方は、そのままXLOOKUPに置き換えられます。さらに「右から左への検索」「見つからない場合のデフォルト値」も簡単に設定できます。

数式例:


=XLOOKUP(E2, A:A, C:C, "該当なし")

上の数式の意味:E2の値をA列で検索して、一致する行のC列の値を返す。見つからない場合は「該当なし」と表示する。

VLOOKUPとの比較:


VLOOKUPでの同じ処理:=IFERROR(VLOOKUP(E2, A:C, 3, FALSE), "該当なし")

XLOOKUPの方が引数の意味が直感的で、エラー処理も第4引数に直接書けるため、読みやすく書けます。

初心者が間違えやすいポイント:XLOOKUPの第1引数は「検索する値」、第2引数は「検索する列(または行)」、第3引数は「返す値がある列(または行)」です。VLOOKUPの「何列目」という指定方法と異なり、「どの列から返すか」を直接指定します。順番を覚え直す必要があります。

QUERY関数の使用画面

関数6:SUMIFS(サムイフス)で複数条件の集計

SUMIFは1条件での合計集計ですが、SUMIFSは複数の条件を同時に指定できます。

どんな業務で使えるか:「東京エリア・かつ・山田担当・かつ・5月以降の売上合計」のように、3つ以上の条件を組み合わせた集計表を作る場面に最適です。ピボットテーブルよりも柔軟で、データが更新されると自動で集計結果も更新されます。

数式例:


=SUMIFS(D:D, B:B, "東京", C:C, "山田", E:E, ">="&DATE(2026,5,1))

上の数式の意味:B列が「東京」・かつC列が「山田」・かつE列が2026年5月1日以降の行のD列の合計を計算する。

初心者が間違えやすいポイント:条件に日付を使う場合は `”>=”&DATE(年,月,日)` の形式を使います。`”>=”&”2026/05/01″` でもできますが、スプレッドシートの日付フォーマットによって挙動が変わるため、DATE関数を使う方が確実です。また、SUMIFSは「合計する範囲」を最初に書き、その後に「条件範囲1、条件1、条件範囲2、条件2…」と続けます。順番を間違えるとエラーになります。


関数7:TEXTJOIN(テキストジョイン)

複数のセルの内容を、指定した区切り文字でつなぎ合わせる関数です。

どんな業務で使えるか:プロジェクトの担当者名リスト(B2:B10)を「山田、鈴木、田中」のようにカンマでつなぎ合わせて1セルに表示する場面に使います。メンバー一覧のメール・議事録の参加者欄・申請書の担当者欄を素早く作れます。

数式例:


=TEXTJOIN(", ", TRUE, B2:B10)

上の数式の意味:B2からB10のセルを「, 」(カンマ+スペース)でつなぐ。空白セルは無視する(TRUEが空白無視の指定)。

初心者が間違えやすいポイント:第2引数の `TRUE` は「空白セルを無視する」設定です。これを `FALSE` にすると、空白のセルにも区切り文字が挿入されて「山田, , 田中」のような余分なカンマが入ります。通常は `TRUE` 推奨です。


関数8:FILTER(フィルター)

条件に一致する行だけを抽出して、別の場所に表示する関数です。

どんな業務で使えるか:全案件リスト(A2:F200)から「ステータスが承認済み」の案件だけを別シートの集計表に自動表示する場面に最適です。元データを変えずに抽出結果を別の場所に表示でき、フィルターを解除する作業も不要です。

数式例:


=FILTER(A2:E100, C2:C100="承認済み")

上の数式の意味:A2:E100の範囲のうち、C列が「承認済み」の行だけを抽出して表示する。

QUERY関数との使い分け比較

観点FILTERQUERY
書き方の難易度簡単(日本語の条件をそのまま書ける)やや難(SQL形式を覚える必要がある)
複数条件の指定AND/OR関数と組み合わせて使うWHERE句に複数条件を連結できる
並べ替えできない(SORTと組み合わせる)ORDER BY句で直接指定できる
集計(SUM/COUNT)できないGROUP BY句で集計できる
おすすめ用途1〜2条件のシンプルな行抽出複数条件+並べ替え+集計を同時にやりたい場合

初心者が間違えやすいポイント:FILTERの条件部分に文字列を書く場合は `=”承認済み”` のようにイコールから始めます。また、条件に合う行が1件もない場合は `#N/A` エラーが返されます。エラーを防ぐには `IFERROR(FILTER(…), “該当なし”)` のようにIFERRORで囲むと安心です。

FILTER関数はQUERYの「WHERE句」に相当する機能です。QUERYよりシンプルで、日本語の条件も直接書けます。「1条件だけの抽出」ならFILTER、「複数条件・並べ替え・集計を同時」ならQUERYを選ぶとよいです。


関数9:IFS(イフス)

IFを入れ子にする(IFの中にIFを書く)ことなく、複数の条件分岐を読みやすく書ける関数です。

どんな業務で使えるか:評価点数から評価ランク(S/A/B/C)を自動付与する場面、売上金額から割引率を自動計算する場面に使います。従来はIF(IF(IF…)))という入れ子構造になっていた数式を、フラットで読みやすい形で書けます。

数式例:


=IFS(B2>=90, "S", B2>=70, "A", B2>=50, "B", B2<50, "C")

上の数式の意味:B2が90以上なら「S」、70以上なら「A」、50以上なら「B」、50未満なら「C」を返す。

初心者が間違えやすいポイント:IFSは条件を上から順に評価し、最初にTRUEになった条件の値を返します。そのため「90以上をS」の条件を最初に書かないと、「70以上をA」の条件が先に評価されて90以上の人もAになってしまいます。範囲条件は「大きい方から順番に書く」ことを徹底してください。

また、IFSにはIF関数の「else」に相当するデフォルト値の指定方法が少し特殊です。`IFS(条件1, 値1, 条件2, 値2, TRUE, “それ以外”)` のように最後に `TRUE, “デフォルト値”` を追加することで対応できます。


関数10:UNIQUE(ユニーク)

重複する値を除外して、一意のリストを返す関数です。

どんな業務で使えるか:顧客リストや受注データに含まれる「都道府県」「担当者名」「商品カテゴリ」の種類を自動で一覧化する場面に使います。COUNTIFやSUMIFSの条件候補リストを自動生成する用途にも使えます。

数式例:


=UNIQUE(B2:B100)

上の数式の意味:B2からB100のセルから重複を除いた値の一覧を返す。

初心者が間違えやすいポイント:UNIQUEの結果は「スピル」という機能で複数セルに展開されます。そのため、UNIQUEを書いたセルの下に別のデータがあると `#REF!` エラーが発生します。UNIQUE結果の展開先エリアを空けておく必要があります。また、元データに空白行が混在する場合は空白もユニーク値の一つとして抽出されます。空白を除きたい場合は `=UNIQUE(FILTER(B2:B100, B2:B100<>“”))` と組み合わせます。

ARRAYFORMULAの活用例

よくあるエラーと解決法のまとめ

関数を使っていると必ず出会うエラーと、その解決方法を整理します。

エラー主な原因解決方法
#REF!参照先のセルが削除された・スピル展開先にデータが存在する参照先を確認・スピル展開先のデータを移動する
#N/AVLOOKUP/XLOOKUP/FILTERで一致するデータが見つからないIFERRORで囲む・検索値のスペース・大文字小文字を確認する
#VALUE!数値を期待している引数にテキストが入っているセルの型(数値・テキスト)を確認・VALUE関数で数値変換する
#ERROR!QUERYの文法エラー・構文ミスWHERE条件の文字列が’シングルクォーテーション’で囲まれているか確認

エラーが出たときは焦らず「どの引数が問題か」を1つずつ確認することが近道です。多くの場合、スペースの混入・大文字小文字の違い・引数の型の不一致が原因です。

覚える順番のまとめ:①まずARRAYFORMULA/FILTER/UNIQUEから(業務インパクトが大きく習得しやすい)、②次にQUERY/XLOOKUP/SUMIFSへ(複雑な集計・抽出をシンプルに解決)、③余裕ができたらIMPORTRANGE/INDIRECT/TEXTJOIN/IFSへ(応用的な連携と動的参照)。全部を一度に覚える必要はありません。


関数1つ覚えるたびに、仕事の見え方が変わっていく

スプレッドシートの上級関数は、習得した順番に業務の見え方が変わります。「あの作業、実は関数一発でできたのか」という発見が積み重なると、「どうすれば楽にできるか」という思考が自然に身につきます。

最初から全部を覚えようとせず、今の業務で「これがあれば助かる」という場面を一つ探して、該当する関数だけを練習する方法が最も定着しやすいです。まずは手元のスプレッドシートの1列を、ARRAYFORMULAで書き換えてみてください。

「あ、これ便利だ」という感覚が、次の関数を覚える原動力になります。そこから始めれば、半年後には今回紹介した10関数のほとんどを自然に使えるようになっています。

「ちょっと聞いてみたい」だけでもOK! ツールや業務効率化についての相談をすべて1対1で丁寧にお答えします。 まずはお気軽にメッセージをどうぞ!LINE公式アカウントはこちら!

地道ラボでは、スプレッドシートの関数設計と業務効率化の仕組みづくりをLINEで実施しています。

申し込みはLINEで「スプレッドシート相談」とメッセージを送るだけです。

大げさなコンサルティングではなく、明日から試せる具体的な一歩をお伝えするのが私たちのスタイルです。

「この関数を自分の業務に当てはめるとどう使えばいい?」という具体的な応用を、今日ここから踏み出しませんか。

次の一歩として、まずは「毎週やっている集計作業で一番手間がかかっているもの」を一つ教えてください。その現状を、具体的に改善するプランをお伝えします。

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

コメント

コメントする

目次