我正在尝试使用COUNTIFS
语句评估两个略有不同的IF
函数之一,以确定表的大约5000行中的每一个。
公式如下:
{=IF(ISBLANK(Current!$AL$2:$AL$5000),SUM(COUNTIFS(Current!$S$2:$S$5000,"*Open/Active*",Current!$AC$2:$AC$5000,Summary!K$3,Current!$V$2:$V$5000,$A$46:$A$47,Current!$AF$2:$AF$5000,"<="&DATE(2018,12,31))),SUM(COUNTIFS(Current!$S$2:$S$5000,"*Open/Active*",Current!$AC$2:$AC$5000,Summary!K$3,Current!$V$2:$V$5000,$A$46:$A$47,Current!$AL$2:$AL$5000,"<="&DATE(2018,12,31))))}
要了解我希望它如何工作,AL
列已修改了到期日,但表中的所有行都没有。
如果不存在修订日期,则AL
列字段应为空白,并且公式应计算与“原始到期日期”(AF
列)条件以及其他条件匹配的行数在两个COUNTIFS
之间共享。
如果特定行的“修订截止日期”列不是空白,则应运行第二个COUNTIFS
公式。
输出应提供“打开/活动”项的总数,其中AC
列值与文本单元格K3
的列值相匹配,V
列值与{{ 1}},以及A46:47
或AL
列中的日期(基于初始AF
语句)在IF
之前。
无论出于何种原因,我都认为这与缺乏数组知识/经验有关。结果始终将公式计算为好像初始12/31/2018
语句中的该单元格为空,即使不是。
答案 0 :(得分:0)
COUNTIFS在其criteria_range参数中期望一个范围;您无法使用IF条件解析该范围。
不需要数组公式,也不需要减少完整的列引用。也可以在COUNTIFS中执行“无空白”检查。
'first COUNTIFS with no-blanks added
=SUMPRODUCT(COUNTIFS(Current!$S:$S, "Open/Active",
Current!$AC:$AC, Summary!K$3,
Current!$V:$V, $A$46:$A$47,
Current!$AL:$AL, "",
Current!$AF:$AF, "<"&DATE(2019,1,1)))
'second COUNTIFS formula
=SUMPRODUCT(COUNTIFS(Current!$S:$S, "Open/Active",
Current!$AC:$AC, Summary!K$3,
Current!$V:$V, $A$46:$A$47,
Current!$AL:$AL, "<>",
Current!$AL:$AL, "<"&DATE(2019,1,1)))
SUMPRODUCT处理多个$ A $ 46:$ A $ 47标准。
同时输入“如果AL为空白,则使用AF”和“如果AL不是空白,请使用AL”,
=SUM(SUMPRODUCT(COUNTIFS(Current!$S:$S, "Open/Active",
Current!$AC:$AC, Summary!K$3,
Current!$V:$V, $A$46:$A$47,
Current!$AL:$AL, "",
Current!$AF:$AF, "<"&DATE(2019,1,1))),
SUMPRODUCT(COUNTIFS(Current!$S:$S, "Open/Active",
Current!$AC:$AC, Summary!K$3,
Current!$V:$V, $A$46:$A$47,
Current!$AL:$AL, "<>",
Current!$AL:$AL, "<"&DATE(2019,1,1))))