当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公式?
答案 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"
如果您有三个以上的唯一身份,则需要输入等效文本。
答案 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”上。