VLOOKUP どうやって使えばいい?

関数解説

今回はスプレッドシート・エクセルの関数「VLOOKUP」について解説いたします。

本記事は、主に
「引き継いだファイルでvlookupが使われてたから理解したい」
「改めて理解し直したい」など、
既に使われている方を対象とした記事となっています。

「これから新たに関数を学びたい方」は、
後継の関数「XLOOKUP」をオススメいたしますので、
以下の記事をご参照ください。

[基本編] VLOOKUPは「縦から横に検索」

「VLOOKUP」とは、”縦から横に検索”する関数で、
基本の書き方は以下の通りです。

=VOOKUP( [縦に検索する値] , [対象範囲] , [何列移動するか] )

※上記では、オプションの記述は省略してあります

①[対象範囲]の一番左にある列で
②一番上から順番に、[縦に検索する値]を探し
③該当する値を見つけたら[何列移動するか]の数字分、右に移動
 ⇒移動した先のセルの値を結果として出力

このような流れで動きます。

実際に、以下の表から
「東京都の都庁所在地」を出力する流れを見てみましょう。

うまく使えない時はここをチェック

VLOOKUPが思った通りに動かないときは、以下が原因であることが多いので確認してみましょう!

基準の列は必ず「検索範囲の一番左」

VLOOKUPは、指定した範囲の左端の列を基準に検索します。
もし基準にしたい列が途中にある場合は、
その列を範囲の一番左に持ってくる必要があります。

例)「県庁所在地」から「人口」を参照したい場合、
「都道府県庁所在地」の列が一番左にくるよう、
[対象範囲]のスタートはC列からになります

返せるのは基準列より右側の情報だけ

基準列より左にあるデータは取得できません。
「左の情報を取りたい」場合は、
INDEX関数やXLOOKUP関数を使う必要があります。

列番号は「1」から始まる

地味に多いエラー原因がこちら。

[対象範囲]の一番左の列は「1」です。

エラーになってしまう場合は、
 ・一番左を「0」としてカウントしていないか?
 ・そもそも列番号間違っていないか?
この点を確認してみましょう!

上から順に見つかったものが優先される

同じ値が複数ある場合、デフォルトでは
最初に出てきた行の情報が返ってきます。

下の方のデータを取りたいときは、別の工夫が必要です。(後述の「オプション」参照)

[応用編] オプションでさらに便利に使おう

VLOOKUPには、第4引数として
「検索の方法を指定するオプション」があります。

これは「完全一致で探すか」「近い値(近似値)を探すか」を
切り替えるオプションです。

※スプレッドシートの説明では「並べ替え済み」と表記されていますが、
機能としては「完全一致か近似値か」と同様です。
理解のしやすさを優先して、ここでは「完全一致/近似値」として解説します。

▼FALSE(完全一致)
指定した値と完全に一致するもののみを返します。
通常はこちらを使うのが安心です。

TRUE(近似値)
検索する列があらかじめ昇順に並べ替えられている場合、
指定した値より「小さい中で最も近い値」を返します。

注意したいのは、「最も近い値」と書かれているものの
「検索キーを超えない値」しか返ってこない点です。

このオプションは文字列だと挙動がさらに複雑になり、
思った通りに動かないことも多々あります。

実務の中で「近似値指定が必須」になる場面は非常にまれで、
私自身10年以上使っていても必要になったケースはほとんどありません。

したがって、よほど明確な目的がある場合以外には、
基本的には FALSE(完全一致)を指定することをオススメします。

まとめ

本記事ではVLOOKUPの基本から注意点、オプションまでを解説しました。

冒頭でも触れたように、今から新しく覚えるならXLOOKUPを使う方が柔軟性は高いです。
しかし、VLOOKUPには「よりシンプルに書ける」というメリットもあります。

特に古いファイルや引き継いだ資料では、
まだまだVLOOKUPが現役で使われているケースは少なくありません。

そのため、データ処理に関わる人にとっては「必修科目」と言えるでしょう。

上手に使い分けながら、
あなたの“面倒くさい”作業の改善にお役立てください!

コメント