分享

查找出现次数最多的文本,出现次数最多的文本不止一个

 初风Excel教学 2022-02-22

一、案例

公司组织员工旅游,有三个景点可供选择:羊羊村、巴拉梦幻岛、二熊山。每个员工选择一个景点,以被选择次数最多的景点作为旅游地。

如下图所示,A1:B10为每个员工选择景点的情况。要求找到被选择次数最多的景点。

观察A2:B10单元格区域,我们可以发现“羊羊村”和“巴拉梦幻岛”出现次数最多,均为4次。

我们在设置公式时,就要考虑到出现次数最多的文本可能不止一个。

二、计算步骤

在单元格D2输入公式

=IFERROR(INDEX($B$2:$B$10,SMALL(MODE.MULT(MATCH($B$2:$B$10,$B$2:$B$10,0)),ROW(1:1))),"")

拖动填充柄向下复制公式,知道出现空值为止。

公式解析:

(1)MATCH函数用于返回查找值在数组中的相对位置,如果查找值不止出现一次,返回第一次出现的位置。

MATCH($B$2:$B$10,$B$2:$B$10,0)返回B2:B10每个单元格的文本在B2:B10单元格区域出现的相对位置,返回值为{1;2;3;1;2;2;1;2;1}。

即“羊羊村”出现在B2:B10的第1行,“巴拉梦幻岛”出现在B2:B10的第2行,“二熊山”出现在B2:B10的第3行。B2单元格的“羊羊村”第二次出现在B2:B10,MATCH函数返回其第一次出现的位置,即B2:B10的第1行。

(2)MODE.MULT返回一组数值中出现频率最高的垂直数组。

MODE.MULT(MATCH($B$2:$B$10,$B$2:$B$10,0))即

MODE.MULT({1;2;3;1;2;2;1;2;1})。其中“1”和“2”出现的频率最高,均为4次。MODE.MULT返回结果为{1;2}

(3)SMALL函数用于返回数组中的第k个最小值。

SMALL(MODE.MULT(MATCH($B$2:$B$10,$B$2:$B$10,0)),ROW(1:1))即

SMALL({1;2},1),返回数组{1;2}中的第一个最小值,也就是“1”。

ROW(1:1)为相对引用,当D2单元格公式向下复制到D3时,SMALL函数返回数组{1;2}中的第二个最小值,也就是“2”。

(4)

INDEX($B$2:$B$10,SMALL(MODE.MULT(MATCH($B$2:$B$10,$B$2:$B$10,0)),ROW(1:1))),即INDEX($B$2:$B$10,1),返回B2:B10第1行的文本,即“羊羊村”。当D2单元格公式向下复制到D3时,SMALL函数返回“2”,INDEX($B$2:$B$10,2),返回B2:B10第2行的文本,即“巴拉梦幻岛”。

(5)IFERROR函数用于屏蔽错误值。

拓展:

如果确定出现次数最多的文本只有一个,则函数可以简化为

=INDEX($B$2:$B$10,MODE(MATCH($B$2:$B$10,B2:$B$10,0)))


END


关于IFERROR+INDEX+SMALL+ROW函数组合用法的文章:

考试成绩多人并列第一,如何提取所有并列第一的学生姓名?

【Excel教程】多次走访同一客户,如何提取最近一次走访客户的日期?

【Excel教程】一对多查询,这组Excel公式轻松搞定

关于文本查找和统计的文章:

单元格内换行,如何提取指定行的文本

全称和简称的模糊匹配,如何用全称查找对应的简称

如何判断单元格内是否包含某个关键词?

如何统计一个单元格区域中关键词出现的次数

如何统计一个单元格中关键词出现的次数

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多