我有一个名为"输入"采用下面的表格,实际表格扩展到大约20列和超过1000行。 "网站"左边的列会定期有重复数据,但是永远不会出现这种情况,例如,W01在同一行中出现两次 - 尽管Site01可能有两次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以检查' $ E $ 4:$ E $ 1000 in second COUNTIFS的一部分 - 但是在一个最多20行的工作表上很快变得不可行 - 所以我需要一个公式或VBA代码,它完全按照这种COUNTIFS方法进行,但是它可以扩展到更大的行数。
答案 0 :(得分:1)
切换到SUMPRODUCT
:
=SUMPRODUCT((Input!$C$4:$C$1000=Results!C$2)*(Input!$D$4:$F$1000=Results!$B3))
修改部分中的F:
Input!$D$4:$F$1000
根据需要。
此致