SUMIF函数未遍历整行匹配条件问题求助
问题分析
你的SUMIF公式存在两个核心问题:
- 仅针对Sheet1的单行单元格(
C1:D1)进行匹配,没有遍历所有数据行; - 未关联Sheet2的日期匹配条件,且
SUMIF的条件区域与求和区域维度不匹配——当你指定Sheet1!C1:D1为条件区域时,求和区域Sheet1!E1只会对应C1的匹配,D1的匹配无法触发求和逻辑。
解决方案
使用SUMPRODUCT函数可以同时满足日期匹配和行内多列姓名匹配的需求,适用于所有Excel版本。
在Sheet2的B2单元格输入以下公式,然后下拉、右拉填充到所有需要的单元格:
=SUMPRODUCT((Sheet1!$A$1:$A$2=$A2)*(Sheet1!$C$1:$D$2=B$1)*Sheet1!$E$1:$E$2)
公式解释
(Sheet1!$A$1:$A$2=$A2):锁定Sheet1的日期列,匹配当前行的日期($A2的行号随下拉变化);(Sheet1!$C$1:$D$2=B$1):锁定Sheet1的姓名列(C、D列),匹配当前列的姓名(B$1的列号随右拉变化);- 两个条件相乘(逻辑与),再乘以对应的E列数值,
SUMPRODUCT会自动汇总所有符合条件的E列值(由于每行仅对应一个E值,结果就是目标行的E列数值)。
替代方案(旧版Excel数组公式)
如果使用旧版Excel(需按Ctrl+Shift+Enter确认输入),可以使用SUM+IF组合:
=SUM(IF((Sheet1!$A$1:$A$2=$A2)*(Sheet1!$C$1:$D$2=B$1),Sheet1!$E$1:$E$2,0))
内容的提问来源于stack exchange,提问作者problemsofsauce
相关产品推荐
相关产品推荐

