使用 VLOOKUP 函数,查找值可能类似于 100034,当我单击单元格时,它会告诉我它是“常规”格式。查找值位于我搜索的数据范围内,其格式为“数字”。我尝试将它们更改为相同(均为常规、均为数字、均为会计等),但不起作用。
由于某些奇怪的原因,参考数据的两个单元格以“数字”格式显示,并且它们可以正常工作,因此我认为这就是问题所在,但是即使将它们更改为其他格式后,它仍然有效。还有其他建议吗?下面是我的 VLOOKUP 语法示例。
VLOOKUP(C19,'Sheet2'!A:B,2,FALSE)
答案1
我能够复制此行为的唯一方法是强制将查找值视为文本(在单元格中输入时在其前面加上 ')。如果数据是从其他地方粘贴过来的或类似的东西,那么这可能相当容易实现。
如果这就是您的查找值发生的情况,以下公式应该可以解决问题:
VLOOKUP(VALUE(C19),Sheet2!A:B,2,FALSE)
这利用了价值函数,指示 Excel 尝试将存储为字符串的数字解析为实际数字。该函数的文档可在此处找到:https://support.office.com/en-us/article/VALUE-function-257d0108-07dc-437d-ae1c-bc2d3953d8c2
但是,如果你输入一些无法解析为数字的内容,它就会出错。你可以使用以下方法处理这个问题错误信息:
VLOOKUP(IFERROR(VALUE(C19),C19),Sheet2!A:B,2,FALSE)
这只是告诉 Excel 如果无法将其转换为数字,则将其原封不动地传递。这样,如果您的数据中有非数字值,它仍然可以工作。这可能不是最优雅的解决方案,但它确实有效。
希望有帮助!
答案2
简短回答:检查你的数据值保持一致性。格式不要紧。
长答案:
单元格的格式并不重要。重要的是底层值。
单元格可以包含看起来像数字的文本。您可以将此单元格格式化为“数字”,但底层值仍然是文本。
使用格式是确定单元格是否包含文本的好方法。如果您可以将数字格式更改为另一种数字格式,例如使用包含小数的格式并增加或减少单元格中显示的小数位数,则单元格值就是数字。如果它没有变化,则它不是数字。
一旦确定了哪些单元格包含文本而不是数字,您就可以使用此方法快速将它们强制为数字:
- 在单元格中输入 0 并复制该单元格
- 选择包含文本的单元格
- 使用选择性粘贴并在对话框中勾选“添加”,然后确定
这个数学运算会将以文本形式存储的数字转换为实数。