VLOOKUP関数★☆☆
VLOOKUP関数は、指定した範囲内で特定の値を検索し、その値に対応するデータを別の列から取得するための関数です。
例えば、商品コードを基に商品名や単価を取得する場合に使用されます。
原則、私がVLOOKUP関数をエクセルで使わない理由
数値の正確性の検証がしにくく(数値のトレースがしにくい)、 VLOOKUP関数の検索に柔軟性がない、 INDEX関数とMATCH関数を組み合わせて同じことが実現できる(数値のトレースが楽、検索に柔軟性がある)ため、 私のプロジェクトでは使うことがほぼありません。
- 数値の正確性の検証がしにくい:
VLOOKUP関数では、便利なショートカットキー( Ctrl +[ )を使用して参照元にジャンプすることができません。これは特に経理業務の効率を低下させます。 - 検索の柔軟性の欠如:
VLOOKUP関数は、検索値が必ず最初の列に位置している必要があります。これにより、データ構造の自由度が制限されます。 - 拡張性の不足:
より複雑なデータ検索や分析が必要な場合、VLOOKUPでは対応が難しくなります。
多くの経理業務では数値の確認が求められます。 財務報告のために数百、数千のエントリから特定の取引を素早く見つけ出し、その元となるデータへ素早くジャンプするということが頻発します。 自分だけではなく、上席の方、会計監査人など外部の利害関係者も含まれます。 この場合、VLOOKUPではなくINDEXとMATCHを使う方がはるかに効率的です。
より複雑なデータ検索と分析のために、INDEXとMATCHの強力な組み合わせの使用方法を体で覚えることが、あなたのステージを上のレベルに引き上げる鍵となります。
詳細は、「VLOOKUP関数よりINDEX/MATCH関数を使う」を参照してください。
VLOOKUP関数の使い方
以下の例では、リンゴの金額を取得するためにVLOOKUP関数を使用します。リンゴの金額は、リンゴの名前を検索して取得します。
基本的な使い方
=VLOOKUP(B3,G6:H9,2,FALSE)
VLOOKUP関数の注意点
経理や財務のデータは非常に重要であり、正確である必要があります。
VLOOKUP関数を使用する際には、以下の点に注意してください:
1. データの整合性
- データの一貫性: 検索値が一意であることを確認します。 重複があると、最初に見つかった値しか返されません。
- データの形式: 検索値と検索範囲のデータ形式が一致していることを確認します。 例えば、数値と文字列が混在していると正しく検索できません。
2. 絶対参照の使用
VLOOKUP関数をコピーして他のセルに適用する場合、検索範囲がずれないように絶対参照を使用します。
例えば、範囲を「 A$1:D$10
」と指定することで、範囲が固定されます。
3. 検索範囲の左端に検索値を配置
VLOOKUP関数は、検索範囲の最初の列で検索を行います。 そのため、検索値が範囲の左端に配置されていることを確認してください。 これが守られていないと、正しい結果が得られません。
4. エラーハンドリング
VLOOKUP関数は、検索値が見つからない場合にエラーを返します。 これを防ぐために、IFERROR関数と組み合わせて使用することが推奨されます。例えば:
=IFERROR(VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]), "値が見つかりません")
5. データの更新と管理
VLOOKUP関数を使用するデータは、定期的に更新されることが多いです。 データの更新に伴い、検索範囲や列番号が変わることがあります。 これに対応するために、データの管理をしっかり行い、必要に応じて関数を更新することが重要です。
「 Ctrl+[ 」 のショートカットキーを使って参照元にジャンプ
XLOOKUP関数
2020年に登場したXLOOKUP関数は、VLOOKUP関数の代替として使われることが増えています。
ただ、最初の引数が「検索値」なので、やはり参照元へジャンプする便利なショートカットキー( Ctrl +[ )が使用できません。
EXCELのバージョンによっては、XLOOKUP関数が使えるかもしれません。 ただ、XLOOKUP関数が使えないバージョンの人がこの関数を使ったファイルを開くと、エラーが発生する可能性があるので、注意してください。
したがって、この講座ではドリル形式の紹介はしません。詳細には触れません。使いたい方はぜひ使ってみてください。
まとめ
VLOOKUP関数の使い方をみてきました。
実は、VLOOKUP関数は完全一致検索でも、近似値検索でも、INDEX-MATCH関数に置き換えられます。
INDEX-MATCH関数は、VLOOKUP関数ではできない複数行・複数列の検索ができます。 完全に上位互換なので、INDEX-MATCH関数を使いこなせるようになると、VLOOKUP関数を使うことはほとんどなくなります。
さらに、XLOOKUP関数が登場し、VLOOKUP関数の代替として使われることが増えています。
便利なショートカットキー( Ctrl +[ )が使えないことは、シートが何十枚とある公認会計士の実務では極めて不便です。数値を簡単に検証できないことはそれだけで計算ミスが発生する可能性が上がってしまいます。 また、EXCELのバージョンの違いによっては、利害関係者全員が閲覧できない可能性があります。
したがって、私はVLOOKUP関数もXLLOKUP関数も使わないで、すべてをINDEX-MATCH関数だけで処理するようにしています。
なお、VLOOKUP関数は、INDEX-MATCH関数に比べて、シンプルでわかりやすいので、初学者の方がいきなりINDEX-MATCH関数を使うのは難しいかもしれません。 VLOOKUP関数で慣れてから、INDEX-MATCH関数に挑戦するのもいいかもしれません。
エクセルを使っていて、最も最悪なのは、すべてをコピペして参照元を示さないことです。 たまにあるんですよ。 これは本当に最悪です。作った本人も数値の検証をしていないので(できないから)、ほぼ計算ミスしているのに、それに気づけません。 絶対にやめましょう。