我在 Excel 查找和匹配方面遇到了非常奇怪的行为:如果我尝试查找或匹配 7.03,它将找到一个单元格,但如果我查找 7.02+0.01,它会失败。例如:
A | 乙 | |
---|---|---|
1 | 7.01 | A |
2 | 7.02 | 乙 |
3 | 7.03 | C |
4 | 7.04 | d |
5 | 7.05 | e |
- 如果我
=VLOOKUP(7.03, A1:B5, 2, 0)
正确使用它返回c
- 如果我这样做
=VLOOKUP(7.01+0.01,A1:B5, 2, 0)
,它会正确返回b
- 它正在查找 7.02 - 如果我
=VLOOKUP(7.02+0.01,A1:B5,2,0)
这样做会失败并返回#N/A
- 对于等效的 XLOOKUP 和 MATCH 公式也会失败
它在其他计算值上也会失败 - 不仅仅是这个。如果我执行“不精确”匹配类型,它会找到错误的值(7.02)。
我可以解决这个问题,但这是一个错误还是我可以控制它 - 如何!?
我使用的是 Excel for Mac 版本 16.84 (24041420)
涉及带小数的数字的计算总是会产生微小的值差异,因为此类数字通常具有无限的二进制扩展,需要四舍五入。
因此,如果可能的话,这种类型的搜索应该使用整数来完成,或者可以使用舍入