Excel 公式的意外结果

问题描述 投票:0回答:1

我有以下公式; =BYROW(序列(30;;0,01;0,01);LAMBDA(n;MOD(n;0,03)))=0。 Excel 回报 {假,假,真,假,假,假,假,假,真,假,假,假,假,假,真,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,错误,错误,错误,错误,错误}

虽然我期望 {假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,错误,正确,错误,错误,正确}

我在某个地方犯了错误吗?请帮忙(我有更多数组公式返回意外结果,我可能错误地使用了 lambda) 最好的,

arrays excel formula
1个回答
0
投票

我假设您所在的区域设置中逗号是小数点。

您无法与浮点数进行精确比较。数字

0.01
0.03
无法用二进制精确表示,因此您得到的是非常接近的近似值。你做的算术越多,你积累的微小错误就越多。

您应该以整数的形式进行算术,然后将结果除以 100。

© www.soinside.com 2019 - 2024. All rights reserved.