如何实现满足两个位置关联条件的单元格求和?
多条件求和公式修正方案
我已经能用SUMIF实现单个条件的求和:
=SUMIF(DATA!$U$3:$3, "Previous Age",DATA!$U9:9)
现在需要添加第二个条件:要求$F$2的值和第一个条件对应单元格向左偏移3列(即OFFSET(,,-3)指向的单元格)的内容匹配。
我试过以下两个公式,但都没效果,贴出来说明我的需求:
=SUMIF(DATA!$U$4:$4, DATA!$U$3:$3&OFFSET(DATA!$U$3:$3,,-3),"Previous Age"&$F$2) =SUMIF(DATA!$U$4:$4, (DATA!$U$3:$3="Previous Age")*(OFFSET(DATA!$U$3:$3,,-3)=$F$2))
可用的解决方案公式
因为SUMIF仅支持单个条件,多条件求和可以用SUMPRODUCT或者结合ARRAYFORMULA的SUM函数:
方案1:使用SUMPRODUCT(推荐,无需数组输入)
=SUMPRODUCT((DATA!$U$3:$3="Previous Age")*(OFFSET(DATA!$U$3:$3,0,-3)=$F$2)*(DATA!$U9:9))
如果不想用OFFSET,直接引用偏移后的列(比如U列左3列是R列),公式更稳定:
=SUMPRODUCT((DATA!$U$3:$3="Previous Age")*(DATA!$R$3:$3=$F$2)*(DATA!$U9:9))
方案2:使用SUM+ARRAYFORMULA
=SUM(ARRAYFORMULA(IF((DATA!$U$3:$3="Previous Age")*(OFFSET(DATA!$U$3:$3,0,-3)=$F$2), DATA!$U9:9, 0)))
原理说明
SUMPRODUCT会将每个条件判断的结果(TRUE=1,FALSE=0)相乘,只有同时满足所有条件的列才会返回1,再乘以对应求和区域的数值,最终求和得到符合双条件的结果。ARRAYFORMULA会对整列进行条件判断,将符合条件的单元格数值保留,不符合的设为0,最后用SUM求和。
内容的提问来源于stack exchange,提问作者Chulho Chang
相关产品推荐
相关产品推荐

