仅使用一个单元格公式计算一行中的重复项(也没有条件格式)
Count duplicates in a row using only one cell formula (no conditional formatting either)
我有一行数据,比方说 (a, b, c, d, e, a, c)
我想计算重复项的数量 - 在本例中为 2(2 个 a,2 个 c)
但是,我不想使用 COUNTIF(RNG,A1)>1 并拖出列表的整个长度。
我想在该行中搜索该范围内的所有值并计算是否找到匹配项。
使用 Excel 365 和 A1 到 G1 中的数据,选择一个单元格并输入:
=SUMPRODUCT(--(COUNTIF(A1:G1,UNIQUE(TRANSPOSE(A1:G1)))>1))
(这实际上是您问题中指出的方法,但是隐藏了所有辅助数组)
备注:
这个:
UNIQUE(TRANSPOSE(A1:G1))
会生成一个数组,如:
a
b
c
d
e
还有这个:
COUNTIF(A1:G1,UNIQUE(TRANSPOSE(A1:G1)))
会产生:
2
1
2
1
1
和SUMPRODUCT()
统计上面有多少个是大的。
如果您没有Excel 365,那么:
=SUMPRODUCT((1/COUNTIF(A1:G1,A1:G1)<1)*(1/COUNTIF(A1:G1,A1:G1)))
为了完整起见,这里是频率版本(针对 Excel 的早期版本):
=SUMPRODUCT(--(FREQUENCY(MATCH(A1:H1,A1:H1,0),MATCH(A1:H1,A1:H1,0))>1))
计算频率>1的不同字母的数量,即(a,c)=>2
题目还有一种解释,就是'how many duplicates exist in total?'(即a一个,c两个,共三个):
=COUNTA(A1:H1)-SUMPRODUCT(--(FREQUENCY(MATCH(A1:H1,A1:H1,0),MATCH(A1:H1,A1:H1,0))>0))
计算字母总数 (8) 减去唯一字母数 (5) (a,c,c) => 3
我有一行数据,比方说 (a, b, c, d, e, a, c) 我想计算重复项的数量 - 在本例中为 2(2 个 a,2 个 c) 但是,我不想使用 COUNTIF(RNG,A1)>1 并拖出列表的整个长度。 我想在该行中搜索该范围内的所有值并计算是否找到匹配项。
使用 Excel 365 和 A1 到 G1 中的数据,选择一个单元格并输入:
=SUMPRODUCT(--(COUNTIF(A1:G1,UNIQUE(TRANSPOSE(A1:G1)))>1))
(这实际上是您问题中指出的方法,但是隐藏了所有辅助数组)
备注:
这个:
UNIQUE(TRANSPOSE(A1:G1))
会生成一个数组,如:
a
b
c
d
e
还有这个:
COUNTIF(A1:G1,UNIQUE(TRANSPOSE(A1:G1)))
会产生:
2
1
2
1
1
和SUMPRODUCT()
统计上面有多少个是大的。
如果您没有Excel 365,那么:
=SUMPRODUCT((1/COUNTIF(A1:G1,A1:G1)<1)*(1/COUNTIF(A1:G1,A1:G1)))
为了完整起见,这里是频率版本(针对 Excel 的早期版本):
=SUMPRODUCT(--(FREQUENCY(MATCH(A1:H1,A1:H1,0),MATCH(A1:H1,A1:H1,0))>1))
计算频率>1的不同字母的数量,即(a,c)=>2
题目还有一种解释,就是'how many duplicates exist in total?'(即a一个,c两个,共三个):
=COUNTA(A1:H1)-SUMPRODUCT(--(FREQUENCY(MATCH(A1:H1,A1:H1,0),MATCH(A1:H1,A1:H1,0))>0))
计算字母总数 (8) 减去唯一字母数 (5) (a,c,c) => 3