我有以下公式; =BYROW(序列(30;;0,01;0,01);LAMBDA(n;MOD(n;0,03)))=0。 Excel 回报 {假,假,真,假,假,假,假,假,真,假,假,假,假,假,真,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,假,错误,错误,错误,错误,错误}
虽然我期望 {假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,假,真,假,错误,正确,错误,错误,正确}
我在某个地方犯了错误吗?请帮忙(我有更多数组公式返回意外结果,我可能错误地使用了 lambda) 最好的,
我假设您所在的区域设置中逗号是小数点。
您无法与浮点数进行精确比较。数字
0.01
和 0.03
无法用二进制精确表示,因此您得到的是非常接近的近似值。你做的算术越多,你积累的微小错误就越多。
您应该以整数的形式进行算术,然后将结果除以 100。