根据另一列计算一列中的重复单元格
Count duplicate cells in a column based on another column
示例数据:
Event Client
400 1
400 1
401 1
402 2
402 2
402 2
400 3
401 3
402 3
403 3
这 table 表示每行一张活动门票。我试图确定客户参加了多少活动(但我不关心他们购买了多少活动门票)。我想要得到的结果:
Client 1: 2 events
Client 2: 1 event
Client 3: 4 events
我可以编写一个 Python 脚本来确定此信息,但我觉得可能存在一个 Excel 函数,我可以使用它来获得相同的结果。
建议?
突出显示您的整个数据集,然后按 "alt",然后按 "a",然后按 "m"。这将删除重复的条目,然后 countif(B:B, B1) 将计算该特定客户编号的条目数。
Countif(B:B,1)
将适用于客户端 1
Countif(B:B,2)
将适用于客户端 2
但是,如果您引用它们将位于的单元格(B1 及以下),然后向下拖动您的公式,它将自动运行。
在 Excel 2013 年可能最简单,但在 Excel 2007 年使用数据透视表仍然很容易:
和一个带有公式的辅助列:
=COUNT(E3:H3)
如果有人对自动更新的解决方案感兴趣,只需在 table 中列出唯一客户端 ID(例如使用 =ROW()-1
公式)并使用以下公式计算唯一事件的数量:
=SUMPRODUCT(
N(EC[Client] = [@Client]),
1 / COUNTIFS(EC[Event], EC[Event], EC[Client], EC[Client]))
其中:
EC
是您的 Event_Client table 的名称,[@Client]
是您 Unique_Clients table 当前行中的一个单元格
N
是一个 Excel 函数,用于将布尔值转换为 0/1
1/COUNTIFS(col1,col1, col2,col2)
是 count unique rows 的一个技巧 - 它会产生一个数组
SUMPRODUCT
用于避免必须使用数组公式
示例数据:
Event Client
400 1
400 1
401 1
402 2
402 2
402 2
400 3
401 3
402 3
403 3
这 table 表示每行一张活动门票。我试图确定客户参加了多少活动(但我不关心他们购买了多少活动门票)。我想要得到的结果:
Client 1: 2 events
Client 2: 1 event
Client 3: 4 events
我可以编写一个 Python 脚本来确定此信息,但我觉得可能存在一个 Excel 函数,我可以使用它来获得相同的结果。
建议?
突出显示您的整个数据集,然后按 "alt",然后按 "a",然后按 "m"。这将删除重复的条目,然后 countif(B:B, B1) 将计算该特定客户编号的条目数。
Countif(B:B,1)
将适用于客户端 1
Countif(B:B,2)
将适用于客户端 2
但是,如果您引用它们将位于的单元格(B1 及以下),然后向下拖动您的公式,它将自动运行。
在 Excel 2013 年可能最简单,但在 Excel 2007 年使用数据透视表仍然很容易:
和一个带有公式的辅助列:
=COUNT(E3:H3)
如果有人对自动更新的解决方案感兴趣,只需在 table 中列出唯一客户端 ID(例如使用 =ROW()-1
公式)并使用以下公式计算唯一事件的数量:
=SUMPRODUCT(
N(EC[Client] = [@Client]),
1 / COUNTIFS(EC[Event], EC[Event], EC[Client], EC[Client]))
其中:
EC
是您的 Event_Client table 的名称,[@Client]
是您 Unique_Clients table 当前行中的一个单元格N
是一个 Excel 函数,用于将布尔值转换为 0/11/COUNTIFS(col1,col1, col2,col2)
是 count unique rows 的一个技巧 - 它会产生一个数组SUMPRODUCT
用于避免必须使用数组公式