匹配函数不匹配公式中的数字
Match function not matching number from formula
在 excel 中,匹配函数无法在包含它的范围内找到匹配项。
由于我们无法附加工作簿,请按照以下步骤创建 MRE:
- A1=.99
- B1=1-A1
- C1=匹配(.01,B1:B2,0)
对我来说,C1 是#NA。它向你表明了吗?如果是这样,为什么?如果没有,你能想到为什么它会适合我吗?
尝试过:
- 制作新工作簿
- 测试 B1=.01 -> TRUE
- 硬编码 B1=.01 -> 匹配有效
- 将 B1 与自身匹配 -> 有效
- 将 B1 与包含硬编码 .01 的单元格匹配 -> 失败
- 谷歌搜索 -> 很多人不知道 0= 完全匹配或忘记检查字符串中的空格。
- 更改 A1 -> 非常有趣,对 .9、.8 和 .7 失败,但对 .6 有效(发现 .4)。
计算机以 2 为基数而不是以 10 为基数运行,因此在进行浮点运算时,有些数字无法表示,即使它们以 10 为基数看起来非常好。您看到的是 0.01,但是 Excel 实际上已经计算出 0.0100000000000000000000x 或类似的东西。
如果你想让你的示例工作,请尝试将 B1 设置为
=ROUND(1-A1,2)
或者,如果您知道您只需要两位数的小数精度(假设您匹配到 0.01),您可以通过以下方式完全避免浮点数:
=(100-(100*A1))/100
在 excel 中,匹配函数无法在包含它的范围内找到匹配项。
由于我们无法附加工作簿,请按照以下步骤创建 MRE:
- A1=.99
- B1=1-A1
- C1=匹配(.01,B1:B2,0)
对我来说,C1 是#NA。它向你表明了吗?如果是这样,为什么?如果没有,你能想到为什么它会适合我吗?
尝试过:
- 制作新工作簿
- 测试 B1=.01 -> TRUE
- 硬编码 B1=.01 -> 匹配有效
- 将 B1 与自身匹配 -> 有效
- 将 B1 与包含硬编码 .01 的单元格匹配 -> 失败
- 谷歌搜索 -> 很多人不知道 0= 完全匹配或忘记检查字符串中的空格。
- 更改 A1 -> 非常有趣,对 .9、.8 和 .7 失败,但对 .6 有效(发现 .4)。
计算机以 2 为基数而不是以 10 为基数运行,因此在进行浮点运算时,有些数字无法表示,即使它们以 10 为基数看起来非常好。您看到的是 0.01,但是 Excel 实际上已经计算出 0.0100000000000000000000x 或类似的东西。
如果你想让你的示例工作,请尝试将 B1 设置为
=ROUND(1-A1,2)
或者,如果您知道您只需要两位数的小数精度(假设您匹配到 0.01),您可以通过以下方式完全避免浮点数:
=(100-(100*A1))/100