
#N/Aエラーが出る原因と解決法:データ形式を統一する方法
ExcelのVLOOKUP関数は非常に便利な検索ツールですが、正しい式を使っているはずなのに「#N/A」エラーが頻発することがあります。(残業中にこのエラーに出くわして格闘すると発狂しそうになりますね。)
このエラーの原因の一つとして、「データの形式の違い」が挙げられます。特に、検索対象のセルに含まれる値が「数値形式」なのか「文字列形式」なのかが一致していない場合、VLOOKUPは正しい結果を返すことができません。
この現象でよくあるのが、社内のシステムからCSVなどで落としたデータ出力形式に癖があって、そのデータからVLOOKUPでほしいデータを拾おうとするときに起きやすい現象です。式は合ってるのに、何度やってもセルには無慈悲な「#N/A」エラー。
さてもしかすると下記のトピックであなたを残業から救う神様が降臨するかもしれません。
問題の概要:形式の違いによるエラー
例えば、次のようなケースが発生します:
- 検索値として「123」を入力したが、それが文字列形式になっていた。
- 検索対象範囲(テーブル内)の値「123」は数値形式で保存されていた。
この場合、VLOOKUPは「文字列の123」と「数値の123」を別のものとみなしてしまうため、該当する値が見つからず、#N/Aエラーとなります。
エラー解消の方法:データ形式を統一する
この形式の不一致を解消するには、検索値および検索範囲のデータ形式を統一する必要があります。以下の手順で簡単に解決可能です。検索する値も、検索される値もこのデータ形式が合っていないといけません。つまり「G/標準」または「文字列」に統一する必要があります。
- 検索値の形式を変更する
まず、VLOOKUP関数で指定した検索値を選択します。その後、次の手順を実行してください:- 検索値のセルを選択。
- [データ]タブ → [区切り位置]をクリック。
- 「区切り位置指定ウィザード」が開いたらそのまま[次へ]をクリック。
- [列のデータ形式]で「G/標準」または「文字列」を選択し、[完了]を押します。
- 検索範囲(テーブル内)の形式を確認・修正する
検索対象となるテーブルのデータ形式も統一する必要があります。- 検索する列をすべて選択。
- [データ]タブ → [区切り位置]をクリック。
- 「区切り位置指定ウィザード」が開いたらそのまま[次へ]をクリック。
- [列のデータ形式]で「G/標準」または「文字列」を選択し、[完了]を押します。
具体例:解決手順をさらに詳細に
以下の例で問題を解説します。
- 問題の状況
- セルA1に「123」という値(数値形式)が入力されている。
- 別のセル(例えばC1)に「’123」という値(文字列形式)が入力されている。
- VLOOKUP関数の式:
=VLOOKUP(C1, A1:B10, 2, FALSE)
この場合、C1の値「’123」は文字列形式の「123」であり、A1の数値形式の「123」と一致しないため、VLOOKUPは#N/Aを返します。
- 解決策
- C1のセルを選択。
- [データ]タブから[区切り位置]を開き、「G/標準」を適用。
- A列の形式も「標準」または「文字列」に揃える。
形式を揃える際の注意点
- 「数値形式」と「文字列形式」の違いは一見わかりにくいため、エラーが出た場合はまず形式を疑いましょう。
- データ形式を変更した後は、一度VLOOKUPの式を再計算(F9キー)することをおすすめします。
まとめ
VLOOKUPで#N/Aエラーが出る原因の一つに「文字形式と数値形式の不一致」があります。この問題は、データ形式を統一することで簡単に解決できます。「区切り位置」ツールを使って形式を変更する方法は、初心者でも実践しやすいのでぜひ試してみてください。