查找 headers 并使用 COUNTA 对其下的数据求和

Lookup headers and use COUNTA to sum the data under it

我正在尝试根据月份 (B1) 查找特定列,并根据指定区域 (D1) 计算其下带有 x 的单元格的数量.

这就是我的预期,但它会以 #VALUE! 的形式回归。

=SUMPRODUCT(SUBTOTAL(3,INDEX(:48576,0,MATCH($B,:,‌​0))),--(($A:$A=D))‌​)

SUBTOTAL 不适用于 INDEX,请使用 OFFSET:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A3,ROW(1:9),MATCH($B,3:3,0)-1))*(A4:A12=D1))


编辑

这个版本是动态的:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A3,ROW(INDIRECT("1:" & MATCH("zzz",A:A)-3)),MATCH($B,3:3,0)-1))*(A4:INDEX(A:A,MATCH("zzz",A:A))=D1))

它会根据A列中的数据量自动调整大小。设置标题行在第3行,如果发生变化则需要更改3:3-3 到标题所在的行号。