高分——Excel以A列为条件找出对应B列中相同姓名最多的(众数)
见图:A列“A”对应的B列有:陈、李;“B”对应的B列有:李、陈;"C"对应的B列有王、张。现在要找出B列相同姓名最多的(众数):A——李;B——陈;C——王。(数据很多...
见图:
A列“A”对应的B列有:陈、李;“B”对应的B列有:李、陈;"C"对应的B列有王、张。
现在要找出B列相同姓名最多的(众数):
A——李;
B——陈;
C——王。
(数据很多,抓图只是例子,姓名不止一个汉字,可以是:张三、张三丰等)
请问高手,有没有什么函数公式可以实现?
没有最多的(众数),就显示“待定”。 展开
A列“A”对应的B列有:陈、李;“B”对应的B列有:李、陈;"C"对应的B列有王、张。
现在要找出B列相同姓名最多的(众数):
A——李;
B——陈;
C——王。
(数据很多,抓图只是例子,姓名不止一个汉字,可以是:张三、张三丰等)
请问高手,有没有什么函数公式可以实现?
没有最多的(众数),就显示“待定”。 展开
4个回答
展开全部
如果姓名只有一个汉字,可以用公式直接实现。D2公式:
=IF(ISNA(CHAR(MODE(IF(A$2:A$10=C2,CODE(B$2:B$10),"")))),"待定",CHAR(MODE(IF(A$2:A$10=C2,CODE(B$2:B$10),""))))
公式以CTRL+SHIFT+ENTER三键结束。
将公式向下复制。
如果B列姓名有两至三个字,需要加一个辅助列(假定为E列)。在E2输入公式:
=IF(COUNTIF(B$2:B2,B2)=1,SUMPRODUCT(1/COUNTIF(B$2:B2,B$2:B2)),VLOOKUP(B2,B:E,4,))
将公式向下复制到相应行。
然后在D2输入公式:
=IF(ISNA(INDEX(B:B,MATCH(MODE(IF(A$2:A$10=C2,E$2:E$10,"")),E:E,))),"待定",INDEX(B:B,MATCH(MODE(IF(A$2:A$10=C2,E$2:E$10,"")),E:E,)))
公式以CTRL+SHIFT+ENTER三键结束。
将公式向下复制。
=IF(ISNA(CHAR(MODE(IF(A$2:A$10=C2,CODE(B$2:B$10),"")))),"待定",CHAR(MODE(IF(A$2:A$10=C2,CODE(B$2:B$10),""))))
公式以CTRL+SHIFT+ENTER三键结束。
将公式向下复制。
如果B列姓名有两至三个字,需要加一个辅助列(假定为E列)。在E2输入公式:
=IF(COUNTIF(B$2:B2,B2)=1,SUMPRODUCT(1/COUNTIF(B$2:B2,B$2:B2)),VLOOKUP(B2,B:E,4,))
将公式向下复制到相应行。
然后在D2输入公式:
=IF(ISNA(INDEX(B:B,MATCH(MODE(IF(A$2:A$10=C2,E$2:E$10,"")),E:E,))),"待定",INDEX(B:B,MATCH(MODE(IF(A$2:A$10=C2,E$2:E$10,"")),E:E,)))
公式以CTRL+SHIFT+ENTER三键结束。
将公式向下复制。
展开全部
需要添加辅助列,E2单元格输入=CODE(B2)后下拉(以拉到E10为例),D5单元格输入=CHAR(MODE(E2:E10))即为结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-10
展开全部
返还给他人非个体户经营条件统一经营条件一天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用数据透视表不行吗?
更多追问追答
追问
不行,表格里面还有其他很多数据,要直接体现在原表格里面的
追答
假设B2到B10000有数据:
=CHAR(MODE(CODE(B2:B10000)))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询