如何用公式对其他列匹配相同引用的金额求和?
相同引用金额求和问题
数据表格
| Amount | Reference1 | Reference2 | Sum of amounts with same reference |
|---|---|---|---|
| 100.00 | 1111 | 175 | |
| 50.00 | |||
| 75.00 | 1111 | 175 | |
| 110.00 | 2222 | 165 | |
| 55.00 | 2222 | 165 | |
| 78.00 |
问题描述
需要使用公式对所有具有相同引用的金额进行求和,尝试过SUMIF和SUMIFS函数,但未能成功。
解决方法
由于引用值可能出现在Reference1或Reference2任意一列,SUMIF/SUMIFS仅支持“与”逻辑的多条件判断,无法直接实现“或”逻辑的求和,以下是可行的公式方案:
方案1:SUMPRODUCT函数(兼容性强,无需数组输入)
假设数据区域为:Amount列是A2:A7,Reference1是B2:B7,Reference2是C2:C7,在目标单元格(如D2)输入:
=SUMPRODUCT(($B$2:$B$7=IF(B2<>"",B2,C2))+($C$2:$C$7=IF(B2<>"",B2,C2)), $A$2:$A$7)
- 逻辑说明:
IF(B2<>"",B2,C2)提取当前行的有效引用值(优先取Reference1,无值则取Reference2);+符号实现“或”逻辑,SUMPRODUCT会对满足任一列匹配的Amount值求和。
方案2:SUM+IF数组公式(Excel 365/WPS新版直接回车,旧版需按Ctrl+Shift+Enter)
=SUM(IF(($B$2:$B$7=IF(B2<>"",B2,C2))+($C$2:$C$7=IF(B2<>"",B2,C2)), $A$2:$A$7, 0))
处理无引用的行
如果希望Reference1和Reference2均为空的行显示空白而非0,可套入IF判断:
=IF(AND(B2="",C2=""), "", SUMPRODUCT(($B$2:$B$7=IF(B2<>"",B2,C2))+($C$2:$C$7=IF(B2<>"",B2,C2)), $A$2:$A$7))
内容的提问来源于stack exchange,提问作者Ivan the Smurf
相关产品推荐
相关产品推荐

