Excel:当列A匹配时,计算列B中的唯一文本

时间:2017-04-06 20:40:39

标签: excel excel-formula

当A列匹配时,我正在尝试计算B列中的唯一文本值。

假设我有

A 1    
A 1    
B 1    
B 2    
C 2    
C 2    
C 2

我希望它返回

A has one unique text in column B    
B has two unique texts in column B    
C has one unique texts in column B

我会使用哪个Excel公式?

2 个答案:

答案 0 :(得分:2)

使用公式,您将需要几个辅助列:

首先我们将此数组公式放在 SECOND 行中:

=INDEX($A$1:INDEX(A:A,MATCH("zzz",A:A)),MATCH(0,COUNTIF($D$1:D1,$A$1:INDEX(A:A,MATCH("zzz",A:A))),0))

然后在它旁边的列中这个数组公式:

=SUM(IF($A$1:INDEX(A:A,MATCH("zzz",A:A))=D2,1/COUNTIFS($A$1:INDEX(A:A,MATCH("zzz",A:A)),D2,$B$1:INDEX(B:B,MATCH("zzz",A:A)),$B$1:INDEX(B:B,MATCH("zzz",A:A)))))

两者都是数组公式。作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

然后在第三列中我们可以输入文字:

=D2 & " has " & CHOOSE(E2,"one","two","three") & " unique " & IF(E2>1,"texts","text")& " in column B"

如果您有三个以上的唯一身份,则需要输入等效文本。

enter image description here

答案 1 :(得分:0)

在单元格C1中,您可以按Ctrl + Shift + Enter:

输入以下数组公式

=SUM(--(FREQUENCY(IF(A1:A7="A",B1:B7),B1:B7)>0))

然后在Cell D1中输入以下正常公式:

"A has " & C1 & " unique text in column B"

在接下来的三行中重复B和C.如果你真的想用“one”替换数字“1”,那将会更难,我不推荐它。另外,如果你真的想要得到想象,你可以修改D1以使用if语句来检查C1是否大于1,并且如果它将复数“s”添加到单词“text”上。