使用Excel函数根据其他列中的匹配计算一列中的唯一值?

时间:2014-09-09 23:46:36

标签: excel excel-formula

我有一个Excel问题 - 是否有一种方法可以使用函数来计算列的所有唯一值,这是基于匹配其他列的内容与特定数据的兴趣?例如,假设我有两列数据。

A           | B
toothbrush  | AAA
shampoo     | AAA
toothbrush  | AAA
toothbrush  | BBB
conditioner | CCC
toothbrush  | BBB
shampoo     | CCC
toothbrush  | CCC
toothpaste  | CCC
toothpaste  | AAA
toothbrush  | AAA
shampoo     | BBB

我想在单独的标签上生成两列显示以下信息的列,例如:

C           | D
toothbrush  | 3
toothpaste  | 2
shampoo     | 3
conditioner | 1

D列将是4种产品中每种产品的唯一客户数量。

有没有办法在D列中使用由SUM,IF,COUNTIF等组成的公式来做到这一点?

提前致谢,如果我能进一步澄清,请告诉我。

2 个答案:

答案 0 :(得分:1)

由于其他人可能不太关注他们决定避免使用的现成工具,因此创建一个数据透视表,其中“将此数据添加到数据模型”,其中A为ROWS,B为VALUES,然后将B计数更改为不同计数B.

SO25755209 example

答案 1 :(得分:0)

对于唯一项目列表,这将起到作用(它也会产生空白单元格):

=IF(COUNTIF(Sheet1!$A$1:A1,Sheet1!A1)>1,"",Sheet1!A1)

=IF(COUNTIF(Sheet1!$B$1:B1,Sheet1!B1)>1,"",Sheet1!B1)放入E栏以产生独特的客户。

最后,将其放入D列,确保扩展它以适应sheet1上的行数,然后按CTRL+SHIFT+ENTER使其成为数组公式:

{=IF(A1="","",
SUM(IF(COUNTIFS(Sheet1!$A$1:$A$12,A1,Sheet1!$B$1:$B$12,$C$1:$C$12)>0,1,0)))}