在多列上使用COUNTIFS

我有一个名为“input”的表格,其格式如下,实际表格扩展到20列左右,超过1000行。 左侧的“站点”列将定期重复数据,但是,例如,W01不会出现在同一行两次 – 尽pipeSite01可能有两次W01,只是在不同的行中。

Site | Item1 | Item2 | Item3 ------------------------------------------ Site01 | W01 W02 S01 Site02 | W01 S02 Site03 | S01 W01 Site01 | W01 

然后我有另一个名为“结果”的表格,顶部的所有站点和最左边的列中的所有项目。 这个想法是让表格显示一个网站使用一个给定项目的次数,所以上表的结果应该是:

  | Site01 | Site02 | Site03 --------------------------------- W01 | 2 1 1 W02 | 1 0 0 S01 | 1 0 1 S02 | 0 1 0 

使用COUNTIFS公式,在Input表中的一列上执行此操作似乎相对容易:

 =COUNTIFS('Input'!$C$4:$C$1000,'Results'!C$2,'Input'$D$4:$D$1000,'Results'!$B3) 

然后可以将其复制到整个“结果”表中。

我可以通过两列或三列的方法使用上面的COUNTIFS的多个倍数,只是改变下一个COUNTIFS在COUNTIFS的第二部分检查'input'$ E $ 4:$ E $ 1000 – 但这很快在最多20行的表单上变得不可行 – 所以我需要一个公式或VBA代码,它完全像COUNTIFS方法那样工作,但是这个代码的数量要大得多。

切换到SUMPRODUCT

=SUMPRODUCT((Input!$C$4:$C$1000=Results!C$2)*(Input!$D$4:$F$1000=Results!$B3))

修改部分中的F:

Input!$D$4:$F$1000

如预期的。

问候