LibreOffice Calc:按行匹配A列值于C/D列范围求和对应B列值
LibreOffice Calc 实现需求的公式方案
要在E列计算符合条件的B列数值之和,可使用SUMPRODUCT函数实现,具体步骤如下:
- 在E1单元格输入以下公式:
=SUMPRODUCT(($A$1:$A$4=C1)+($A$1:$A$4=D1); $B$1:$B$4)
- 将鼠标移至E1单元格右下角,待光标变为十字形后,下拉填充至E4单元格即可。
公式解释
$A$1:$A$4=C1:生成一个数组,判断A列每一行的值是否等于当前行C列的值,满足则返回1,否则返回0;$A$1:$A$4=D1:同理,判断A列每一行的值是否等于当前行D列的值;- 两个数组相加,实现逻辑或的效果(只要满足其中一个条件,结果即为非0值);
- 最后与B列数组相乘并求和,得到所有符合条件的B列数值总和。
验证示例
- E1:A1(0)符合C1:D1(5,0),A2(5)也符合C1:D1,对应B1(4)+B2(6)=10,与预期一致;
- E2:仅A4(9)符合C2:D2(9,8),对应B4(3),与预期一致;
- E3、E4因C、D列为空,无符合条件的A列值,结果为0。
内容的提问来源于stack exchange,提问作者Nicola Mori
相关产品推荐
相关产品推荐

