我要尝试的是计算数据集中行标题与数组匹配的空白单元格的数量。
=countifs(D1:AZ,D2:AZ,D1:1,A2)
理想情况下,我可以得到一个数组公式来计算与A2:A中每个日期相对应的非空白单元格的数量,如下所示:
看COUNTIFS的文档,我看不到它无法处理垂直和水平匹配。
此外,我需要避免使用= query(),因为D1:1中可能存在实例,其中缺少日期。我将使用iferror()处理该问题。
任何人都能提供的帮助/建议将不胜感激!
我在这里做了一个editable copy of the dataset供参考。
谢谢
答案 0 :(得分:3)
尝试一下。它是一个矩阵乘法公式,用于汇总每一列的非空白单元格。它应该为您工作。
= arrayformula(mmult(transpose(if(D1:1 =“”,0,if(isblank(D2:BG),0,1))),sign(ROW(D2:BG))))>
如果您有兴趣,我可以解释一下。
编辑:怎么样?它添加了一个vlookup。 = arrayformula(iferror(vlookup(A2:A,{transpose(D1:1),mmult(transpose(if(D1:1 =“”,0,if(isblank(D2:BF),0,1)))), sign(ROW(D2:BF))}},2,false)))
答案 1 :(得分:1)
这可能是在B2上实现此目标的一种方法:
=COUNTIFS(OFFSET($D$2:$D,,MATCH(A2,$D$1:$AZ$1,0)-1),">0")
然后您自动填写,提示是:
MATCH(A2,$D$1:$AZ$1,0)
将A列上的每个日期与第1行上的日期匹配,并返回索引(从1到N)。OFFSET($D$2:$D,,N)
将采用范围D2:D和偏移N列(在这种情况下为MATCH的输出)。COUNTIFS
将在标题与左侧日期匹配的列中寻找>0
值。我希望对您有帮助