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 计为一次。

是否可以将COUNTIFSUMPRODUCT 结合起来。

我尝试的其他方法是在 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") 但如果 p2p3 有重复项,那么这不会生成正确的结果.

所以基本上我想说的是,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 中能不能将公式定义为变量?

将excel中的相同公式复制到列中的每个单元格但只更改公式? [重复]

如何在excel中用公式法从(学校 年级 班级) 三列数据中提取不重复的唯一的值?

excel取两个值其中较大的一个的公式

Excel - 拖放和重复公式模式系列

如何excel两列数据中查找重复数据