Excel公式将重复项计为一个
Posted
技术标签:
【中文标题】Excel公式将重复项计为一个【英文标题】:Excel formula to count duplicates as one 【发布时间】:2022-01-12 20:02:24 【问题描述】:我正在尝试创建一个公式,该公式将根据另一列中的值计算所有行(重复为一个)。
Column A | Column B. |
---|---|
p1 | Joe Bloggs |
p2 | Bob Bloggs |
p1 | Joe Bloggs |
p3 | John Bloggs |
p1 | Mary Bloggs |
p1 | Alan Bloggs |
我想计算列 A === p1 中的值的行数。所以在上面运行
=COUNTIF(A1:A20,"p1")
将返回 4,但由于 Joe Bloggs 是 p1 两次,我只想计算 Joe Bloggs 一次。
运行 =SUMPRODUCT((B1:B15<>"")/COUNTIF(B1:B15,B1:B15&""))
会将重复数计为一个,这将返回 5 个人,因为它只会将 Joe Bloggs 计为一次。
是否可以将COUNTIF
和SUMPRODUCT
结合起来。
我尝试的其他方法是在 C 列中添加这个论坛,=IF(COUNTIFS(A$1:A3,A3,B$1:B3,B3)>1, COUNTIFS(A$1:A3,A3,B$1:B3,B3)-1,"")
这将计算重复项,然后我可以运行 =COUNTIF(Sheet1!A1:A20,"p1")-COUNTIF(Sheet1!C1:C7,">0")
但如果 p2
或 p3
有重复项,那么这不会生成正确的结果.
所以基本上我想说的是,IF Column A is p1 then count all p1 rows but IF column B has duplicates then only count the first instance (counting the duplicates as 1)
【问题讨论】:
【参考方案1】:你可以使用数组公式:
=SUM(--(FREQUENCY(IF(A2:A10=E2,MATCH(B2:B10,B2:B10,0)),ROW(B2:B10)-1)>0))
编辑后的数组公式按ctrl
+ shift
+ enter
确认
【讨论】:
谢谢。添加额外的行有时会将结果显示为小数,因此我将该单元格格式化为删除小数并且它运行良好。 @BernardBonjoThompson 是的,你是对的,我的错。用正确的公式改写答案。 嘿@basic 如果我们将第一晚和昨晚分开并基于此生成相同的结果,A、B、C 三列,是否可以扩展此数组。 A 是 p1s,B 列,名字和 C 列姓氏 @BernardBonjoThompson 如果我理解正确,连接范围就足够了,即=SUM(--(FREQUENCY(IF(A2:A10=E2,MATCH(B2:B10&C2:C10,B2:B10&C2:C10,0)),ROW(B2:B10)-1)>0))
啊,完美,我需要做的就是添加“AND”才有意义,谢谢以上是关于Excel公式将重复项计为一个的主要内容,如果未能解决你的问题,请参考以下文章
将excel中的相同公式复制到列中的每个单元格但只更改公式? [重复]