ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

ExcelやGoogleスプレッドシートを使っていると、必ず耳にするのが「VLOOKUP」という言葉です。これは一体何をするための関数なのでしょうか?この記事では、VLOOKUPの仕組みや仕事を効率化する活用方法を解説し、ExcelとGoogleスプレッドシートの両方で最大限に活かすための手順をご紹介します。

さらに、VLOOKUPに関するよくある疑問や、使用時に陥りがちな落とし穴についても詳しく取り上げます。

VLOOKUPとは何か?

VLOOKUPは「Vertical Lookup(垂直検索)」の略称で、もともとMicrosoft Excelに搭載されていた関数です。特定の列の中から目的の値を検索し、その情報をもとに同じ行にある別の値を呼び出すことができます。

例えば、「氏名」「電話番号」「住所」という3つの列がある表を想像してください。VLOOKUPを使えば、「氏名」列から特定の名前を検索し、その名前と同じ行にある電話番号や住所を自動的に表示できます。ただし、VLOOKUPは大文字と小文字を区別しない点には注意が必要です。

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

上記のような少量のデータではあまり有効性を実感できないかもしれませんが、大量のデータを扱うシートで、特定の値を別の場所でも使いたい場合に絶大な効果を発揮します。

例えば、1枚のシートにマスターリストを作成しておき、それ以降のシートではVLOOKUPを使ってマスターデータを参照すればよいのです。こうすれば更新作業は1枚のシートだけで済み、その変更が他のシートにも自動的に反映されます。

VLOOKUPの構文をシンプルにまとめると、以下のようになります。

=VLOOKUP(
    検索したい値,
    検索範囲(セル範囲),
    表示したい値が含まれる列番号,
    完全一致または近似一致の指定
)

ExcelとGoogleスプレッドシートでのVLOOKUPの使い方

一見すると複雑そうに見えるVLOOKUPの構文ですが、実際には思ったより簡単です。以下の手順で詳しく見ていきましょう。

  1. まず、参照元となるデータの表を用意します。ここでは前述の例と同じように、「氏名」「住所」「電話番号」の3つの列にデータを入力した表を使用します。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 次に、指定したセルに入力された名前に対応する電話番号を呼び出します。ここでは「Iris Watson」の電話番号を取得してみましょう。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 空いているセルをダブルクリックして「=VLOOKUP(」と入力します。最初に必要な引数は「lookup_value(検索値)」です。これは電話番号を検索するために使う情報になります。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 今回はVLOOKUPの入力先セルの隣にすでに「Iris Watson」という名前が入力されているので、そのセルを検索値として指定します。この時点で数式は次のようになっています。=VLOOKUP(E12,
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 続いて「table_array(範囲)」を指定します。これはデータを抽出する元となる表全体です。データが含まれる表全体を選択しましょう。この段階で数式は次のようになります。=VLOOKUP(E12,A1:C5,
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 3つ目の引数は「col_index_num(列番号)」です。これは情報を抽出したい列の番号を指します。選択した範囲では「氏名」が1、「住所」が2、「電話番号」が3となります。電話番号を取得したいので、数式は次のようになります。=VLOOKUP(E12,A1:C5,3,
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 最後の引数は、検索時に完全一致を求めるか近似一致を許容するかの指定です。近似一致の場合はTRUE、完全一致の場合はFALSEを入力します。ここでは後者の完全一致を選びました。最終的な数式は次の通りです。=VLOOKUP(E12,A1:C5,3,FALSE)
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. これでEnterキーを押せば、VLOOKUPが正常に機能し、「Iris Watson」に対応する電話番号が表示されます。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

補足:本ガイドではMicrosoft Excelを使用していますが、同じ手順をGoogleスプレッドシートでもそのまま使えます。

複数条件でデータを検索する方法

VLOOKUPは本来、単一の値を検索するために設計されています。複数の条件で検索するには専用の関数もありますが、ヘルパー列(補助列)を活用すれば、VLOOKUPでも複数条件での検索が可能です。ヘルパー列で複数のセルの情報を組み合わせた一意の識別子を作成し、VLOOKUPでその識別子を検索するという仕組みです。

これは、同じ値を持つセルが複数ある場合に特に役立ちます。例えば、表の中に「Iris Watson」という同名の人物が2人いるとしましょう。通常、VLOOKUPはリスト内で最初に見つかった「Iris Watson」の情報しか返しませんが、あなたが探しているのは別の人かもしれません。

ヘルパー列を活用することで、一意の識別子により、シート上の異なる「Iris Watson」たちを区別できるようになります。

この例では、電話番号ではなく住所を表示させます。また、異なる住所と電話番号を持つ2人目の「Iris Watson」も追加しました。

  1. まず、「氏名」と「電話番号」のセルを結合して一意の識別子を作るヘルパー列を作成します。ここでは、複数のセルの文字列を単純に連結するCONCATENATE関数を使用しました。数式は次のようになります。=CONCATENATE(B2," | ",D2) 名前と電話番号の間には読みやすさのため、縦線「|」記号とスペースを挿入しています。この関数についてさらに詳しく知りたい方は、CONCATENATE関数の使い方を解説した記事も参考にしてください。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 連結に成功したら、入力済みセルの右下隅をつかんで、ヘルパー列の残りのセルまでドラッグします。これで同じ連結処理がすべての行に適用されます。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. VLOOKUP用の検索フィールドを2つ用意します。「氏名」「電話番号」の各検索欄に加え、VLOOKUPの結果を表示する「住所」欄も作成しましょう。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 次にやりたいのは、VLOOKUPが「氏名」と「電話番号」の検索欄に入力された情報を組み合わせて、ヘルパー列と同じ形式に整えることです。そうすることで、VLOOKUPはヘルパー列内の一意の識別子を認識し、対応する住所を返せるようになります。

初期状態の数式はこのようになります。=VLOOKUP(F9&" | "&F10,

F9とF10はそれぞれ「氏名」「電話番号」の検索欄で、&記号はCONCATENATEと同様に両方のフィールドを連結する働きがあります。数式内の「 | 」の部分は、ヘルパー列で使用したものと同じ区切り文字です。

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. あとは通常のVLOOKUPの手順に従うだけです。範囲を選択し、列番号を入力し、完全一致(FALSE)を設定します。最終的な数式は次の通りです。=VLOOKUP(F9&" | "&F10,A1:D6,3,FALSE)
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで
  1. 検索欄に入力するのは氏名だけ、または電話番号だけでは不十分であることがわかります。検索を成功させるには両方の入力が必要です。下の画像では、2人の「Iris Watson」がいるため、2つ目の検索欄(電話番号)に入力する値によって、異なるVLOOKUPの結果が表示されています。
ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

VLOOKUPとINDEX-MATCH、どちらが優れている?

この問題はMicrosoft Excelの黎明期から熱い議論の対象となってきました。答えを導く前に、まずINDEX-MATCHとは何かを理解しておきましょう。INDEXとMATCHは2つの独立した関数ですが、組み合わせることでVLOOKUPよりも柔軟な検索システムを構築できます。

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

MATCH関数は、指定した値がセル範囲内の何番目の位置にあるかを調べる際に使います。一方、INDEX関数は、表配列やセル範囲から値を取り出すための関数です。この2つを組み合わせれば、MATCH関数で対象データの位置番号を特定し、INDEX関数がその位置番号をもとに値を返すという流れを作れます。

ExcelとGoogleスプレッドシートのVLOOKUP関数 完全ガイド|基本の使い方からエラー対処法まで

どちらが優れているかは、使用者によって変わってきます。VLOOKUPは設定や操作が格段に簡単なため、初心者から中級者のユーザーにとって圧倒的に扱いやすい関数です。しかし、INDEX-MATCHの方がはるかに柔軟性が高く、さまざまな場面で応用できます。

結局のところ、INDEX-MATCHよりVLOOKUPを使いこなせる人のほうが多いため、多くの一般ユーザーがアクセスするシートなら前者を選ぶのが無難でしょう。逆に、上級者向けのシートであればINDEX-MATCHを採用するのが賢明です。

VLOOKUPを使うときの注意点とポイント

VLOOKUPを学び始めた頃にミスをしても恥ずかしいことではありません。ほとんどのExcelベテランも通ってきた道です。VLOOKUPに挑戦するときは、以下のポイントを押さえておきましょう。

1.【推奨】検索値が表の左端の列にあることを確認する

VLOOKUPは「検索値が表配列の左端(第1列)にある」という前提で動作します。対応する値を表示できるのは、検索値より右側の列にあるデータのみです。検索値を左端以外の場所に置くと、関数は正しく動作しません。

2.【非推奨】完全一致のFALSE指定を忘れない

VLOOKUPの数式の最後の引数では、完全一致ならFALSE、近似一致ならTRUEを指定します。多くのユーザーは誤ってTRUEを使ったり、そもそも値を設定し忘れたりしがちで、それが不正確な結果につながることがあります。

3.【推奨】列番号を必ずダブルチェックする

VLOOKUPが何を表示するかは、数式入力時の「col_index_num(列番号)」の設定に大きく依存します。列番号とは、表配列内の各列に割り当てられた番号のことで、左端の列が1、2列目が2、というように数えます。誤った列番号を入力すると、まったく違う結果が表示されてしまうので注意しましょう。

4.【推奨】数式をコピーするときはF4キーを使う

VLOOKUPの便利な点のひとつは、数式をドラッグして複数のセルへコピーできることです。しかし問題なのが、数式内で指定したセル範囲も一緒にずれてしまい、数式全体が壊れてしまうことです。これを防ぐには、数式内の範囲指定部分にカーソルを合わせてF4キーを押します。こうすると参照が絶対参照に変わり、数式をコピーしても範囲がずれなくなります。

よくあるVLOOKUPエラーとその解決策

VLOOKUPの使用中に最もよく遭遇するのは「#N/A」エラーですが、このエラーが表示される原因は実にさまざまです。

1. 検索値が表配列の左端の列にない

VLOOKUP最大の制限のひとつは、検索できるのが表配列の第1列のみだという点です。検索値がそこにないと#N/Aエラーが発生します。対策としては、数式を修正して別の列を参照するようにするか、列を並べ替えて検索値を正しい位置に移動させる必要があります。

2. VLOOKUPが完全一致を見つけられない

VLOOKUPの数式の最後の引数はrange_lookup(検索方法)で、近似一致ならTRUE、完全一致ならFALSEを設定します。この引数をFALSEに設定していて、VLOOKUPが完全一致を見つけられない場合、#N/Aエラーが発生します。

検索値に該当するデータが確実に存在するはずなのにエラーが出る場合は、表配列側のデータを確認しましょう。書式の不一致や余分なスペースがないかチェックしてください。また、印刷されない不可視文字が混入していることも、VLOOKUPがデータを見つけられない原因になります。

3. 桁数の多い浮動小数点数

浮動小数点数とは、小数点以下を持つ数値のことです。VLOOKUPでは、小数点以下の桁数が多すぎる数値を扱うと#N/Aエラーが発生することがあります。対処は簡単で、ROUND関数などを使って小数点以下最大5桁程度に丸めれば、正常に動作するようになります。

よくある質問

1. range_lookup引数を空欄のままにするとどうなる?

VLOOKUPの数式における4番目の引数(TRUEまたはFALSEを指定する部分)は省略可能とされています。TRUEを指定すると近似一致で検索され、FALSEを指定すると完全一致が求められます。問題は、この引数を空欄のままにすると、VLOOKUPが自動的にTRUEとして扱う点です。意図しない結果になる恐れがあるため、明示的に指定するのがおすすめです。

2. VLOOKUPの代替手段はある?

VLOOKUPの最良の代替案はINDEX-MATCHの組み合わせです。ただし、この組み合わせは2つの異なる関数を習得し、両者が正しく連携するように構成する必要があるため、学習難易度はやや高めです。

3. 列ではなく行方向に検索することはできる?

はい、可能です。ExcelとGoogleスプレッドシートにはHLOOKUP(Horizontal Lookup:水平検索)という関数があり、特定の行から値を検索し、同じ列にある別の行の値を表示できます。

また、検索範囲を1つの行または列に限定したい場合は、LOOKUP関数を利用できます。

  1. Mac セキュリティ:基本ガイド

    Mac にはウイルス対策が必要ですか? Mac は、主に 2 つの理由から、何十年にもわたって優れたセキュリティ記録を保持してきました。 1 つは、Mac が強力な保護機能を備えて構築されていることです。 悪用可能な脆弱性はほとんどありません .もう 1 つは、世界のほとんどの人が PC を所有しているため、サイバー犯罪者が PC に集中して取り組んでいるということです。しかし、潮流は変わりつつあり、ハッカーは Mac のセキュリティ プロトコルを回避する方法を学んでいます. 2016 年の macOS 向けの最初のトロイの木馬ランサムウェアである KeRanger と、2017 年の B

  2. EUとGoogleの対立――Android独占禁止法違反による50億ドル制裁金の全貌

    現実は時に受け入れがたいものです。Googleはテクノロジー業界の王者として称えられ、同社からの採用オファーはソフトウェア開発者にとって夢のような話とされています。過去・現在の従業員に適用される待遇は、あらゆる業界の中でも最も手厚いと言われています。そんな名だたる企業が、EUからAndroidの独占禁止法違反として50億ドルという巨額の制裁金を科されたのです。これはまさに衝撃的なニュースでした。 Googleは何をしたのか?なぜ制裁金を科されたのか? 欧州委員会は、Googleが業界内での影響力を利用し、Androidプラットフォームを通じて自社の検索エンジンやウェブブラウザ「Chrome