SUMIFS公式按列标题求和时的错误排查与求助
SUMIFS公式按列标题求和时的错误排查与求助
大家好,我正在制作一个Excel仪表盘,遇到了SUMIFS公式的问题,想请各位帮忙排查一下!
我的需求是:当Dashboard!G11="All"且Dashboard!G18<>"All"时,根据Dashboard!G18的列标题,在dtPages表中匹配对应的列,再结合另外两个条件(dtPages!T:T等于Dashboard!X11、dtPages!U:U等于Dashboard!X13)进行求和,否则返回指定文本。
第一次尝试的公式及错误
我先写了这个公式:
=IF(AND(Dashboard!G11="All", Dashboard!G18<>"All"), SUMIFS(INDEX(dtPages!C2:R,0,MATCH(Dashboard!G18,dtPages!C1:R1,0)), dtPages!T:T,Dashboard!X11,dtPages!U:U,Dashboard!X13), "SOMETHING")
结果弹出了**"Array arguments to SUMIFS are of different size"**的错误。我理解这个错误是说参数的数组大小不一致,怀疑问题出在INDEX(dtPages!C2:R,0,MATCH(Dashboard!G18,dtPages!C1:R1,0))这部分——之前单独用SUM(INDEX(dtPages!C2:R,0,MATCH(Dashboard!G18,dtPages!C1:R1,0)))是能正常求和的,我以为SUMIFS里可以省略SUM部分,看来是想错了?
第二次尝试的公式及错误
后来我换成SUMPRODUCT来匹配列,公式改成了:
=IF(AND(Dashboard!G11="All", Dashboard!G18<>"All"), SUMIFS(SUMPRODUCT((dtPages!C2:R)*(dtPages!C1:R1=Dashboard!G18)), dtPages!T:T,Dashboard!X11,dtPages!U:U,Dashboard!X13), "ERROR")
这次又出现了**"Argument must be a range"**的错误,我后来反应过来,SUMIFS的第一个参数必须是单元格区域,而SUMPRODUCT返回的是单个数值,所以不符合要求。
现在实在不知道该怎么调整了,有没有大佬能指点一下,怎么正确实现我想要的功能呀?
备注:内容来源于stack exchange,提问作者lolikols
相关产品推荐
相关产品推荐

