Excel多条件求和求助:基于垂直与水平条件的SUMIF类公式问题
Excel多条件求和公式问题求助
需要创建满足以下条件的求和公式:
- 条件1:
'Budget Forecast Actuals'工作表的B13:B54(黄色区域)等于'Financials Template'工作表的I4单元格值 - 条件2:
'Budget Forecast Actuals'工作表的V6:AG6(红色区域)等于'Financials Template'工作表的D5单元格值 - 求和区域:
'Budget Forecast Actuals'工作表的V13:AG32(绿色区域)
尝试过的无效公式
- SUMIFS公式:
=SUMIFS('Budget Forecast Actuals'!V13:AG32, 'Budget Forecast Actuals'!B13:B54, 'Financials Template'!I4, 'Budget Forecast Actuals'!V6:AG6, 'Financials Template'!D5)
- SUMPRODUCT公式:
=SUMPRODUCT(('Budget Forecast Actuals'!B13:B54='Financials Template'!I4)*('Budget Forecast Actuals'!V6:AG6='Financials Template'!D5)*('Budget Forecast Actuals'!V13:AG32))
问题原因
原公式失效的核心是条件区域与求和区域的维度不匹配:
- 条件1的区域包含超出求和范围的行(B33:B54),多余行干扰匹配逻辑
- 条件2是单行区域,无法直接与20行的求和区域做维度对应,导致布尔数组无法正确相乘
解决方案
方法1:适配维度的SUMPRODUCT公式
=SUMPRODUCT( ('Budget Forecast Actuals'!B13:B32='Financials Template'!I4)* TRANSPOSE('Budget Forecast Actuals'!V6:AG6='Financials Template'!D5)* 'Budget Forecast Actuals'!V13:AG32 )
- 把条件1的区域缩小到
B13:B32,与求和区域的行范围完全对应 - 用
TRANSPOSE将条件2的单行区域转置为单列,让每一列的条件匹配求和区域的对应列
方法2:Excel 365/2021专属动态数组公式
=SUM( ('Budget Forecast Actuals'!B13:B32='Financials Template'!I4)* ('Budget Forecast Actuals'!V6:AG6='Financials Template'!D5)* 'Budget Forecast Actuals'!V13:AG32 )
- 动态数组会自动处理维度匹配,无需手动转置,公式更简洁
内容的提问来源于stack exchange,提问作者Matteous
相关产品推荐
相关产品推荐

