我有三个表:参与者,文档详细信息和文档。 (注意,它们不是表格格式的,因此所有引用都是基于单元格和工作表的位置,而不是表格别名)
我想使用Excel公式返回每个文档中各方的唯一计数。我的问题是,我通常会为此使用=COUNTIFS()
公式,该公式类似于以下内容,并将其放在工作表3(文档表)的B2
中:
=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,Sheet1!A2)
但是,这一次只会返回一个条件的计数,而不是对每个文档中的party表的所有值进行检查的计数。我知道应该可以使用数组公式来完成,但是我无法弄清楚。如果有人可以弄清楚如何使用非数组公式完成此操作,将获得加分!
Sheet1-参与者表
A
1|Parties |
+-----------------+
2|Education Officer|
3|Elder |
4|Family Support |
5|Interpreter |
表2-文档明细表
A B
1 |Doc ID | Party |
+-------+-----------------+
2 |FID0001|Education Officer|
3 |FID0001|Elder |
4 |FID0001|Education Officer|
5 |FID0001| |
6 |FID0001| |
7 |FID0002|Elder |
8 |FID0002|Interpreter |
9 |FID0002|Family Support |
10|FID0002| |
表3-(所需结果)-文档表
A B
1|Doc ID |Party Count|
+-------+-----------+
2|FID0001| 2 |
3|FID0002| 3 |
TL:DR
我可以使用哪种Excel公式组合来返回每个文档中引用的唯一方的数量?
答案 0 :(得分:1)
基于this answer和Barry Houdini,并扩展为包含DocID标准
在Sheet2
上放置帮助列,让我们在C
列中说
=IFERROR(1/COUNTIFS($B:$B,$B:$B,$A:$A,$A:$A),0)
并复制所有数据行
然后,在Sheet3
的“聚会计数”公式中,
=SUMIFS(Sheet2!$C:$C,Sheet2!$A:$A,$A:$A)
非隐式交叉口版本
Sheet2单元格C1
=IFERROR(1/COUNTIFS($B:$B,$B1,$A:$A,$A1),0)
Sheet3单元格B2
=SUMIFS(Sheet2!$C:$C,Sheet2!$A:$A,$A2)