简短答案
VLOOKUP 查不到”明明存在”的值,几乎都出在两边不等值上:一边是文本、一边是数字("0123" ≠ 123);或有不可见空格/全角字符;或查找值不落在第一列(VLOOKUP 只能向右找);或第三参数误用 0 精确匹配而数据里带空格。用 =LEN() 与 =EXACT() 快速定位差异即可。
现象对照表
| 现象 | 最可能原因 |
|---|---|
| 数字看起来一样却 #N/A | 一列存成文本(左上角绿三角)、一列是数字 |
| 目测完全相等仍 #N/A | 末尾/开头有不可见空格(Excel 的 TRIM 只去两端) |
| 查得到、但返回偏右的值 | 区域第一列选错,匹配列不在左侧 |
| 个别行能查、多数不行 | 第三参数设 0(精确),而查找值与目标实际有差异 |
排查步骤
- 验文本/数字:对查找格与目标列各套
=LEN(A1),长度对得上但=EXACT(A1,B1)返回 FALSE,就是类型/空格问题。 - 统一类型:数字列选中 → 分列(直接完成)转真数字;文本列反之用
=TEXT()或乘 1 转。 - 清空格:辅助列
=TRIM(&"")重建干净值,或数据清洗后用 TRIM 版公式;全角空格/特殊符用SUBSTITUTE逐个替换。 - 查区域:区域首列必须是”匹配列”,范围要覆盖全部数据行;返回列序号要相对首列数。
- 各版本操作一致,Office 专业增强版 2019、2021、2024 通用,公式行为差异以条目页为准;装 2016 的老机器上排查思路相同。
操作小结
- 先验类型与空格(LEN/EXACT)
- 数字列分列转数字
- 区域首列必须是匹配列
- 全角/隐藏字符用 SUBSTITUTE 清