VLOOKUPが思っている以上に壊れやすい理由
VLOOKUPは検索範囲内での列の位置を「番号」で参照しているため、その範囲内のどこかで列を挿入・削除すると、エラーメッセージが出ないまますべてのVLOOKUP数式の結果がずれてしまいます。数式自体は動き続けるので、ただ静かに間違った答えを返すだけです。この挙動こそが「昨日まで動いていたVLOOKUPが動かない」というトラブルの最も多い原因であり、規模が大きく頻繁に編集されるシートでINDEX+MATCHがよく勧められる主な理由でもあります。
関数を組み合わせてこそ真価が発揮される
実務では、これらの関数を単独だけで使うことはあまりありません。IFの中にCOUNTIFを入れ子にしたり、SUMIFの結果をVLOOKUPと組み合わせたりするのは、それぞれの関数に慣れてくるとよく見られるパターンです。まず各関数の構文を覚えることが第一歩で、特定の質問に答えるために2〜3個を組み合わせられるようになることこそが、日々の作業時間を実際に短縮してくれます。
よくある質問
VLOOKUPとINDEX+MATCH、実務上の違いは何ですか?
VLOOKUPのほうが書き方はシンプルで、小規模で変更の少ないシートには十分です。一方でINDEX+MATCHは、列の挿入で崩れることがなく、検索方向も左右どちらにも対応できるため、規模が大きい、あるいは頻繁に編集されるファイルにはより頑丈な選択肢です。
数式が #N/A や #VALUE! のようなエラーを表示するのはなぜですか?
#N/Aは、多くの場合、検索系の関数が一致する値を見つけられなかったことを意味します(余分なスペースやデータ型の不一致、単純な入力ミスが原因のことが多いです)。#VALUE!は、数値ではないもの(数値に見えるように書式設定されたテキストなど)に対して計算をしようとした場合によく発生します。