Excel公式-根据来自不同表的多个条件返回范围的唯一计数

时间:2018-08-09 02:12:19

标签: excel excel-formula

我有三个表:参与者,文档详细信息和文档。 (注意,它们不是表格格式的,因此所有引用都是基于单元格和工作表的位置,而不是表格别名)

我想使用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公式组合来返回每个文档中引用的唯一方的数量?

1 个答案:

答案 0 :(得分:1)

基于this answerBarry 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)