gpt4 book ai didi

Excel 条件求和

转载 作者:行者123 更新时间:2023-12-03 02:10:57 28 4
gpt4 key购买 nike

考虑以下因素:

    A    B    C
----------------
1 a c 1
2 b f 2
3 a c 3
...
6 a c 4

此处的目标是使用条件 SUMPRODUCT,以便当第 6 行中的值与其各自列中的值匹配时,计算 SUMPRODUCT。这是有趣的事情。

使用时:

=SUMPRODUCT((A3:A5=A1),(B3:B5=B1),C3:C5)

输入参数的计算结果为:

=SUMPRODUCT({TRUE, FALSE, TRUE},{TRUE, FALSE, TRUE},{1, 2, 3})

但是结果是0。

现在,在使用数学运算符评估公式之前,将 bool TRUE 和 FALSE 转换为对应的 1 和 0 时,会填充正确的结果:

=SUMPRODUCT(--(A3:A5=A1),--(B3:B5=B1),C3:C5)

=SUMPRODUCT(ABS(A3:A5=A1),ABS(B3:B5=B1),C3:C5)

=SUMPRODUCT((A3:A5=A1)^2,(B3:B5=B1)^2,C3:C5)

等等...,

应用数学运算符后,最终计算结果为 1 和 0,

=SUMPRODUCT({1, 0, 1},{1, 0, 1},{1, 2, 3})

我们得到了正确的值。

我们一直在绞尽脑汁地思考 Excel 似乎无法正确评估它自己的输入。我们认为有一行代码缺少将 TRUE 和 FALSE 转换为 1 和 0 的 SUMPRODUCT 编译代码,并且错误捕获仅返回 0。

有什么想法吗?

最佳答案

大多数函数不会将逻辑值强制转换为数组参数中的数字,恕我直言,最好在一致性方面犯错误,而不是为少数函数引入新行为。强制还具有相关的性能开销,因此应仅在需要时实现。

也就是说,添加了一些额外的函数,例如 AVERAGEAVARA 等,它们确实将逻辑值视为数字(将文本值视为零),所以我猜想是 SUMPRODUCTA也可以添加功能,但这也可能会增加困惑和应用程序膨胀。我相信这些的目的是为了与 Lotus 123 兼容。Excel 选项 | 中还有一个转换公式计算的设置。高级,激活后会将 TRUE/FALSE 视为 SUM 等计算中的数字,但许多函数似乎没有按预期对此做出响应。

关于Excel 条件求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943088/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com