私たちは書くすべてのアプリを独自にレビューし、テストしています。このページのリンクをクリックすると、私たちはコミッションを得ることがあります。 詳細情報.
正直に言うと、Googleスプレッドシートの内蔵AIアシスタントである Gemini にVLOOKUPの式を書いてもらうと、この記事の続きを読む手間を省くことができます。
しかし、ロボットが公式をスプレッドシートに貼り付けておいて、その仕組みが全く分からないというのは、どこか非常に不安を感じさせます。まるでロボットに掃除機をかけてもらうようなものです。おそらくうまくいくでしょうが、ロボットが誤って犬を閉じ込めた部屋から犬が吠え始めるまでわかりません。
だからこそ、 GoogleスプレッドでVLOOKUPの使い方を実際に学ぶチャンスです。さらに、何をするのか、どう動くのか、そして自分の意志に曲げる方法も教えてくれます。そうすれば、ジェミニが間違えたとき(そういうことはありますが)、どう直せばいいか正確にわかります。
チュートリアルの手順を追うために、デモのスプレッドシートをコピーしてお願いします。
目次:
Google SheetsのVLOOKUPとは何ですか?
GoogleスプレッドシートのVLOOKUPは、テーブルの1列にある特定の値を検索し、同じ行内の別の列から対応する値を返す関数です。特に、数千人の従業員名やID番号が入ったスプレッドシートのような大規模なデータセットを扱う場合に便利で、組織図や業績評価など別の部分に特定の情報を取り込む必要がある場合です。
関数に含まれるコンポーネントは次のとおりです。
Table:データの行と列を含むTableがあります。
価値: 名前や ID などの特定の値がわかっていて、より関連性の高い情報を見つけたい場合。
探索: VLOOKUP を使用して、同じ行で別の列でその値を検索します。
取り戻す: 値が見つかると、VLOOKUP は情報を提供します。
電話帳で名前を調べるようなものだと考えてください (覚えていますか?検索している名前が見つかり、そのすぐ隣に電話番号が表示されます。VLOOKUP は Google スプレッドシートのデータに対しても同じことを行います。
VLOOKUP式:構文と入力
VLOOKUPの公式はGoogleスプレッドシートにどの値を検索すべきか、どこで探すべきか、何を返すべきかを指示します。その公式は以下の通りです:
=VLOOKUP(search_key、範囲、インデックス、[is_sorted])
それぞれの入力が何を意味するのかは以下の通りです:
search_key: これは、テーブルで探している値です。
範囲: これは、値を検索する領域、または情報が見つかると思われるテーブルのセクションです。少なくとも 2 列である必要があります。
インデックス:これは、目的のデータが配置されている、指定した範囲内の列番号です。たとえば、名前を検索していて、対応する年齢が必要な場合は、年齢がリストされている列番号がインデックスになります。
is_sorted: これにより、VLOOKUPは範囲内のデータが昇順にソートされているか(TRUE)か、そうでないか(FALSE)かを知らせます。
TRUEに設定すると、Googleスプレッドシートはデータを昇順(AからZ、または小さいから大きい順)とみなして、より速く検索できます。しかしこれは、 ほぼ一致 するものの 完全に 一致しないものを探すことも意味します。つまり、ルックアップ値より小さい最も近い値を見つけます。
FALSEに設定すると、Googleスプレッドシートがより詳しく一致するものを探してくれます。VLOOKUPが完全に一致しなければ、 #N/Aエラーを返します。
GoogleスプレッドシートでVLOOKUPを使う方法
GoogleスプレッドでVLOOKUPを使う最も簡単な方法は 、Gemini に使ってもらうことです。何をしようとしているのか分かりやすく説明すれば、あとはうまく対応できます。
こちらは、私がGeminiにVLOOKUPを使って、これから手動で説明する詳細を素早く行うよう頼んだ例です:

でも、もしロボットに仕事を任せるためだけにここに来たわけじゃないなら、おめでとうございます。まだ学ぶ意志があるんですね。以下がステップバイステップの説明です。
注意:もし現実でVLOOKUPを使う必要があるなら、おそらくはるかに大きく複雑なデータセットを扱うことになるでしょう。しかし、関数の使い方を学ぶために 、例は非常に シンプルにして、偽の従業員とID番号の小さなリストを用意します。私たちの目標は、特定の従業員のID番号を見つけることです。
デモのスプレッドシートの「Simple example - FALSE」タブで一緒に進めてください。
データを整理します。スプレッドシートにデータを入力するか、既存のテーブルを見つけます。(このスプレッドシートにはすでにデータがあります。)
出力セルを選択します。 探している情報が行き届く場所に行きたいセルをクリックしてください。この場合、セルA23をクリックしてください。

VLOOKUP 関数を入力します。そのセルに VLOOKUP 関数を入力します。
=VLOOKUP(search_key, range, index, [is_sorted])
search_keyを入力します。search_keyを探している従業員の名前に置き換えます。この例では Mia を探すので、検索キーとして
A17を入力します。
値の範囲を設定します。ここで、範囲を検索したいデータが含まれるセルに置き換えます。この場合、データは列 A と列 B にあるので、範囲を
A:Bに置き換えます。
インデックス列を設定します。次に、index を必要なデータが含まれている列番号に置き換えます。インデックス列を見つけるには、左端の列からカウントします。左から 2 番目の列である ID 番号列からの情報が必要です。そこで、インデックスに
2を入力します。
is_sorted値を決定します。この例では、データは順番にソートされていないため、[is_sorted] には
FALSEを使用する必要があります。
関数を実行します。すべての入力を入力したら、Enter キーを押します。すべてを正しく行った場合、関数は探していた値を返すはずです。この場合、Mia の従業員 ID 番号 123789が返されました。

なぜGoogleスプレッドシートでVLOOKUPが動作しないのですか?
Google SheetsでVLOOKUPが本来の動作をしていないのでしょうか?誰も驚かないよ。ここでは、ほぼ確実に遭遇するであろういくつかの一般的なエラーと、それを直す方法をご紹介します。
VLOOKUPは予期しない値を返します
もしVLOOKUP関数が求めていない値を返したら、式を二重に確認してください。[is_sorted]が TRUEに設定されているが、選択した範囲の最初の列が数値やアルファベット順に並べ替えられていない場合に起こります。トラブルシューティングするには、[is_sorted]を FALSEに変更してください。
VLOOKUPは最初のマッチングの値のみを返します
設計上、Google SheetsのVLOOKUPは常に最初に見つけた結果を返します。複数のマッチした検索キーがある場合は、それぞれに固有の値を割り当ててVLOOKUPが正しく検索できるようにします。
不きれいなデータ付きVLOOKUPです
Google SheetsのVLOOKUPは、余分なスペースや誤字がある値を検索すると正しく動作しないことがあります。シート内の不要なスペースは必ず削除してください。まずは 「データ > データクリーンアップ > トリムの空白スペース」から始められます。
VLOOKUP returns #N/A error
このエラーは、Google SheetsでVLOOKUPを使って、最初の列に正確な一致がない値を調べると発生します。
複数のシートにまたがるVLOOKUPの方法
顧客が購入した商品の数を確認したいが、同じ名前の顧客が複数いるとします (Tim Johnson さん)。通常、VLOOKUP 関数は 1 つの検索値に制限されていますが、少し余分な作業で複数の条件をスキャンできます。その方法は次のとおりです。
ルックアップ列の左側に新しい「ヘルパー」列を挿入します。これは、テーブルの左端の列になります。
この列の最初のセル(データが行2から始まる場合は A 2 )に、数式
=B 2 & " " & C 2を入力します。これにより、既存の列の値が結合され、スペースで区切られます。その数式をヘルパー列の残りのセルにコピーします。

標準の VLOOKUP 式を使用して、検索する両方の条件をスペースで区切って lookup_value 引数に配置します。この例では、ID 番号が 112233の John という名前のユーザーを検索したいと思います。私が使用した式は次のとおりです。
=VLOOKUP("John 112233", A2:D22, 4, FALSE)数式は、検索条件(私の例では数量 4)に基づいて値を返します。
A2:D22 を、ヘルパー列を含むテーブルの実際の範囲に置き換える必要があります。数字の 4 は、テーブルの 4 番目の列から値を返すことを示します。必要に応じてこれを調整することもできます。
GoogleスプレッドシートでのVLOOKUPの使い方について、さらに多くのヒント6
もし私のように、実際に手取り足取り教えてもらいたいなら(さようなら、Gemini)、VLOOKUPを使うための追加のヒントをいくつかご紹介します。
1。データを整理して管理しましょう
整理されたデータにより、VLOOKUP 数式でエラーが発生する可能性が減ります。ここにいくつかのヒントがあります。
ヘッダーを使用します。 列に明確でわかりやすいヘッダーを使用すると、各列が何を表しているのかを理解しやすくなります。その後、VLOOKUP 関数を実行すると、データを取得する必要がある場所がすぐにわかります。
データを並べ替えましょう。 完全な一致を求めない場合は、データを昇順に 並べ てis_sortedパラメータをTRUEにマークする必要があります。
空のセルを削除します。 データセット内の空のセルは、エラーや不正確な一致につながる可能性があります。
2。左端の列の値を事前にソートしてください
VLOOKUP関数の厄介な癖の1つは、左を見ることができないことです。開始する前に、search_keyを格納する列が範囲の左端の列であることを確認してください。
先ほどの簡単な例を見てみましょう。名前の前にID番号が来るように列の順序を切り替えると、関数はエラーを返します。これは、search_key として B 17選択し、その左側の列からデータを取得するように要求したためです。

3。高度な機能にはINDEX/MATCHを使いましょう
しかし、柱を動かすのが大きな苦痛だとしたらどうでしょうか?データセットが非常に大きいか、スプレッドシート内に移動できない数式がある可能性があります。
その場合は、VLOOKUP を廃止し、INDEX/MATCH を使用して柔軟性を高める必要があります。その式は次のとおりです。 =INDEX(array or reference,MATCH(lookup_value,lookup_array,[match_type])
このアクションは、テンプレートの「INDEX/MATCH の例」タブで確認できます。
同じ単純な例では、その式は次のようになります =INDEX(A2:A21,MATCH(B17,B2:B21,0))

その理由は次のとおりです。
配列または参照は、探しているデータが存在する可能性のある範囲です。この場合、それは A2:A21 (ID 番号列) です。
lookup_valueはあなたのsearch_key、またはあなたが求めている価値です。これは、この例では B17 (Mia) です。
lookup_arrayは、lookup_valueが配置されている範囲です。それが私たちにとっての B2:B21 (名前列) です。
[match_type]はMATCHに検索方法を指示します。0を使えば完全に一致します(ここで求めているのは「Mia」と正確に一致する行です)。検索列が昇順に並べ替えられていておおよその一致を求める場合は 1 を使い、降順に並べ替えたい場合は1 - を使いましょう。

4。ワイルドカードキャラクターを考えてみましょう
ワイルドカードを使用して、VLOOKUP 関数で部分一致を実行できます。ワイルドカードは、検索パターン内の不明な文字または可変文字を表す特殊文字です。
たとえば、アスタリスク (*) は、文字なしを含む任意の文字シーケンスを表すことができます。
デモ テンプレートの「ワイルドカード * の例」タブでこの例を確認してください。ID 番号と従業員名のリストがあり、各 ID の最初の文字が従業員の部署を表しているとします。ID 番号が H で始まる人事担当者をリストで検索します。* ワイルドカードを使用して、この部分一致を実行できます。
search_keyを「H*」に置き換えるだけです。次のようになります。 =VLOOKUP("H*",A2:B10,2,FALSE)

ただし、ID 番号に数字のみが含まれ、文字が含まれていない場合は、別の数式を使用する必要があります。ID番号が 4で始まるとしましょう。あなたの式は次のようになります。 =VLOOKUP("4*",ArrayFormula(TO_TEXT(A1:B10)),2,FALSE)

5。トラブルシューティングにはFALSEを使ってください
エラー応答や誤った結果が得られますか?最初に完全に一致するis_sortedパラメータでFALSEを使用してみてください。それでも問題が解決しない場合は、機能しなかった他の理由を調べてください。
6。Google SheetsでVLOOKUPを大文字大文字に区別する
VLOOKUP は大文字と小文字を区別しないため、小文字と大文字の違いには注意を払いません。検索でそれが重要な場合は、別の数式を使用する必要があります。 ArrayFormula(INDEX(return_range, MATCH (TRUE,EXACT(lookup_range, search_key),0)))
ZapierでGoogleスプレッドシートを自動化する
もしあなたがGoogleスプレッドシートでVLOOKUPを使うための指示をすべて守って、ロボットの支配下にないと証明したなら、正直なところ敬意を表します。しかし、人間の脳を タスク に使えるからといって、必ずしも使 わなければならない わけではありません。
ZapierのGoogleスプレッドシート統合を使うことで、数千の他のアプリと連携でき、AIをあらゆるステップに組み込んだインテリジェントなエンドツーエンドのデータ管理システムを構築することができます。例えば、 新しい見込み客データをGoogle スプレッドシートに自動追加し、AIを使ってそれらを分析・フィットに基づいてスコアリングし、その後自動的にパーソナライズされたEメールナーチャーキャンペーンを開始できます。Googleスプレッドシートの自動化方法について詳しく学んだり、これらの既成ワークフローのいずれかを始めてみてください。
Zapierは、アプリを自動化されたワークフローに接続して、すべての人と企業が成長速度で前進できるようにするノーコードの自動化ツールです。その仕組みの詳細については、こちらをご覧ください。
GoogleスプレッドシートでのVLOOKUP:FAQ
スプレッドシート機能の世界は常に複雑で、学ぶべきことは常にあります(Zapierの、ス プレッドシートCRMの作成、 自分でカレンダー作成、 カンバンボードのDIYなどについての恐ろしいほど詳細なガイドを参照してください)。まずは、よくある質問への簡単な回答をいくつかご紹介します。
VLOOKUPは複数の値を返すことができますか?
VLOOKUP 自体では、一度に 1 つの値しか返さない。ただし、VLOOKUP を INDEX や MATCH などの他の関数と組み合わせて、複数の値を返すことができます。
VLOOKUPとHLOOKUPの違いは何ですか?
VLOOKUP はテーブル配列を垂直方向に検索し (VLOOKUP の "V" は垂直を表します)、HLOOKUP はテーブル配列を水平方向に検索します (HLOOKUP の "H" は水平を表します)。
VLOOKUPは複数の列を調べることができますか?
VLOOKUP は複数の列を調べることができますが、常に左端の列から最初の一致を返します。予期しない結果が得られた場合は、列の並べ替えが必要になることがあります。
VLOOKUP が複数の一致を見つけるとどうなりますか?
技術的には、VLOOKUP は複数の一致を見つけることができません。テーブルで最初に完全に一致するもののみが返されるため、検索する項目ごとに一意の値を使用する必要があります。
VLOOKUP が値を見つけられない場合はどうなりますか?
VLOOKUP が検索している値を見つけられない場合、#N/A エラーが返されます。検索値にタイプミスや余分なスペースがないことを再確認してください。
関連資料:
この記事はもともと4 2023 年8月にセシリア・ギレンとディラン・リバーの寄稿で公開されました。最新の更新は 2026年3月でした。









