如何在Google Sheets中按A列会话值查找B列最频繁人名
解决Google表格中按会话统计出现次数最多的文本值问题
以下是两种可行的公式方案,帮你在C列自动返回对应会话中执行任务次数最多的人员:
方案1:使用MODE.MULT+FILTER(推荐)
在C2单元格输入以下公式,然后下拉填充至所有行:
=INDEX(MODE.MULT(FILTER($B$2:$B,$A$2:$A=A2)),1)
公式说明:
FILTER($B$2:$B,$A$2:$A=A2):筛选出当前行A列会话对应的所有人员姓名MODE.MULT(...):返回筛选结果中出现次数最多的姓名(支持文本类型,若有多人次数并列第一,会返回所有并列值)INDEX(...,1):提取第一个结果,确保每个单元格仅显示一个姓名
如果需要显示所有并列第一的人员,可改用:
=TEXTJOIN(", ",TRUE,MODE.MULT(FILTER($B$2:$B,$A$2:$A=A2)))
方案2:使用QUERY函数
同样在C2单元格输入以下公式后下拉:
=INDEX(QUERY(FILTER($A$2:$B,$A$2:$A=A2),"select Col2, count(Col2) group by Col2 order by count(Col2) desc limit 1"),1,1)
公式说明:
- 先筛选出当前会话的所有行数据
- 通过QUERY按姓名分组统计次数,按次数降序排序
- 提取排序后第一行的姓名,即次数最多的人员
补充说明
原生MODE函数仅支持数值类型的众数计算,无法处理文本,因此需要使用MODE.MULT(支持文本)来实现需求。
内容的提问来源于stack exchange,提问作者Andrew Zachar
相关产品推荐
相关产品推荐

