Google Sheet中基于行列双条件的动态求和公式实现
Google Sheet 动态双条件求和公式实现
情况1:A列目标名称唯一(仅一行匹配)
用SUMIF结合INDEX+MATCH动态定位目标行,替代硬编码的行号:
=SUMIF($60:$60, MONTH(X$6), INDEX($1:$100, MATCH($Y$6, $A:$A, 0), 0))
$Y$6:替换为你存放目标名称的单元格(比如名称在Z2就写$Z$2)MATCH($Y$6, $A:$A, 0):在A列精确匹配目标名称,返回对应的行号INDEX($1:$100, ..., 0):返回该行的所有列数据($1:$100可根据实际数据范围调整,比如到200行就写$1:$200)- 核心逻辑和你原来的公式一致:匹配第60行的月份等于X6的月份,对动态行的对应列求和
情况2:A列有多个相同目标名称(多行匹配)
如果需要对所有符合名称条件的行,同时满足月份条件的数值求和,用SUMPRODUCT:
=SUMPRODUCT((A:A=$Y$6)*(MONTH($60:$60)=MONTH(X$6))*$1:$100)
(A:A=$Y$6):筛选A列等于目标名称的行(MONTH($60:$60)=MONTH(X$6)):筛选第60行对应列月份匹配X6的列*$1:$100:提取对应单元格的数值,SUMPRODUCT会自动把所有符合双条件的数值相加
注意事项
- 尽量缩小数据范围(比如把
A:A改成$A$1:$A$100),避免公式运算卡顿 - 如果X6直接是月份数字(如"3"代表3月),可去掉
MONTH(),直接写X$6
内容的提问来源于stack exchange,提问作者Kelly
相关产品推荐
相关产品推荐

