COUNTIFS数组参数大小不一致报错,添加ArrayFormula仍无效如何修复?
公式错误修复方案
错误原因
出现“array arguments to countif are of different size”是因为两个核心问题:
SPLIT函数返回的是横向数组,但'All'!$B$2:$B是纵向数据区域,二者维度不匹配,COUNTIFS无法对应匹配每一组条件。- 多余的
ARRAYFORMULA嵌套干扰了COUNTIFS的数组运算逻辑,进一步加剧了维度冲突。
修复后的公式
=SUMPRODUCT(COUNTIFS( 'All'!$B$2:$B, TRANSPOSE(SPLIT(HLOOKUP(A18,'Funnel'!$A$1:$D$4,4,FALSE),"|")), 'All'!$C$12:$C, ">="&DATE(YEAR(C13),MONTH(C13),DAY(C13)), 'All'!$C$12:$C, "<"&DATE(YEAR(C13),MONTH(C13),DAY(C13))+1, 'All'!H:H, A12))
关键调整说明
- 维度匹配:用
TRANSPOSE将SPLIT输出的横向数组转为纵向,和'All'!$B$2:$B的纵向维度保持一致,解决数组大小不匹配的核心问题。 - 日期条件优化:把拆分的DAY/MONTH/YEAR条件合并成完整的日期区间判断,既简化公式,也避免多条件拆分可能引发的维度问题。
- 移除冗余嵌套:去掉多余的
ARRAYFORMULA,SUMPRODUCT可以直接处理COUNTIFS生成的结果数组,完成求和运算。
内容的提问来源于stack exchange,提问作者Gqueee
相关产品推荐
相关产品推荐

