apache - 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)
你能告诉我如何评估这种公式,或者有没有其他方法来评估这个?
解决方案
好吧,对不起,最初叫错树了……
一双新的星期一眼睛,我可以看到问题:
您"
在带引号的字符串中使用引号,您需要使用 - 转义公式中的引号\
-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。
推荐阅读
- google-cloud-platform - 如何通过 Google Cloud Stackdriver 生成正常运行时间报告?
- python - 如何定义一个只改变父类的新子类?
- python - 如何在 Django Admin 的用户添加页面导航栏中更改“添加用户”?
- firefox - Firefox 扩展开发:如何修复 XMLHttpRequest 中错误的“Referer”
- python - Featuretools:跳过目标特征
- c# - 根据 DataGridView 文本框值更改事件搜索 ListView 项。应选择匹配的项目,同时文本框焦点不应离开
- javascript - React:使用 .map 不会显示任何数据
- javascript - 修改 observableArray 不会立即更新选择 UI
- arrays - 通过字符串值访问数组
- r - 使用贝叶斯预测 R