• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelでのVLOOKUP関数について)

ExcelのVLOOKUP関数で異なる値となる理由とは?

このQ&Aのポイント
  • ExcelのVLOOKUP関数を使う際に、キーを1000倍した場合に異なる値となることがあります。表示上は同じように見えますが、内部的には異なる値として処理されているために#N/Aエラーが発生します。
  • 例えば、キー1を1000倍した値を使ってVLOOKUP関数を使うと、参照先の値が正確に一致しないためにエラーが発生します。このエラーを確認するために、エラー行に対してキーとターゲットとなるセルを「=」でつないで確認することがあります。
  • 実際にエラーを回避するためには、キーとターゲットとなるセルを1000倍するのではなく、ROUND関数を使って整数値に丸めたキーを使ってVLOOKUP関数を行う必要があります。これにより、正確な一致を保証することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

》 B列はA列を1000倍 Excelに限らず、商用PCは小数点を含む計算には弱いと肝に銘じておきませう。 「小数点を含む計算」の最たる物が時刻計算です。(日付のシリアル値は整数だけど、時/分/秒の其れは小数のオンパレードです!) 其れから小数→整数にする際のコツは必要最小限の桁で四捨五入がお奨めです。 従って、B列の式 =A*1000 は =ROUND(A*1000,0) とするのが私の常套手段です。御試し下さい。

nede0122
質問者

お礼

>商用PCは小数点を含む計算には弱い >小数→整数にする際のコツは必要最小限の桁で四捨五入 >B列の式 =A*1000 は =ROUND(A*1000,0) とする 見えている情報のみを信じ、特性を知らずに利用していると思わぬところに落とし穴があると気づかされました。 教えていただいた情報をヒントに以下のページも見つけることが出来ました。 https://docs.microsoft.com/ja-jp/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result ありがとうございます。

その他の回答 (2)

回答No.2

整数値の完全一致を返したいのであれば、F3のセルは =VLOOKUP(E3,C:D,2,FALSE) とすべきではないですか? 1000倍した数を検索しても130168.…になっているのですから。 ROUNDで処理したところからのVLOOKUPをするだけでいけるはずです。

nede0122
質問者

お礼

申し訳ありません、今回の一覧表の目的としてお伝えしていませんでした。 A~D列と、E~のデータは別表からのデータとなりまして、 その突合せを目的として今回の数式を組んで検証しておりました。 後者の表に入力された値はE列の整数値のみですので、A 列の小数値を1000倍する必要がありましたが、小数値の計算をしたところVLOOKUPで正常に取得できない状態となったため質問させていただきました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

役立たずの判讀不能な添附圖!!

nede0122
質問者

お礼

何度か投稿し直したのですが、OKWAVEへ投稿した添付図が荒れてしまい閲覧困難な状態となってしまいました。 サイズによるものと思いますが、文字で何とか伝える手段も大切とのことで文章メインとさせていただきましたことお詫び申し上げます。

関連するQ&A