首页 > 解决方案 > apache poi(3.15版)中的sumproduct函数,如果条件不起作用

问题描述

我正在使用下面的公式使用 Apache poi 3.15 版本计算带有 if 条件的 sum product,但它没有使用 if 条件 (--(A1:A6="A")) 进行评估,并且它给出了“#VALUE”错误。如果我直接在 excel 中使用相同的公式,它会按预期工作。如果我删除 "--(A1:A6="A")" 这种情况,它可以与 poi 一起使用。

公式:

=SUMPRODUCT(--(A1:A6="A"),B1:B6,C1:C6)

你能告诉我如何评估这种公式,或者有没有其他方法来评估这个?

标签: apacheexcel-formulasumapache-poiproduct

解决方案


好吧,对不起,最初叫错树了……

一双新的星期一眼睛,我可以看到问题:

"在带引号的字符串中使用引号,您需要使用 - 转义公式中的引号\-cell.setCellFormula("SUMPRODUCT(--(A1:A6=\"A\"),B1:B6,C1:C6)");

=SUMPRODUCT(--(A1:A6="A")*(B1:B6)*(C1:C6)) - 编辑为所需的逻辑

通过使用双一元“ --”,您可以将真/假转换为 0 或 1。

这是一个 if 条件,因此您还需要将每行数据乘以 0 或 1 并对结果求和;当条件为假时,该行的乘积将乘以 0,得出该行的总和为 0。


推荐阅读