我们在日常工作和生活中常常有这样的需求:哪一款产品卖得最好?谁参与的次数最多?买时,我们会考虑,哪一个号码出现在中奖号码里的次数最多?……给一个Excel表格,你如何快速地给出上述问题的答案呢?或许你会想到你所擅长的函数比如countif等去解决,然而,往往效率不够高。针对此类问题,Excel官方其实专门给出了一个函数来解决这个问题,那就是Mode函数(07版及以下)

一、什么mode函数?

Mode函数:用以返回一组数据或者数据区域中的众数(出现次数最高的数)。

Mode函数至少需要1个参数 ,最多可以有255个参数。参数可以数据区域引用,也可以一个一个的数字(数字之间用英文半角逗号“,”分开)。如下面的例子:

对象函数怎么使用(我能告诉你谁是大家眼中的大众情人)(1)

众数

输入一下公式即可得到,出现次数最多的数字了:

=MODE(A2:C14)

答案是5。

在使用mode函数时,我们需要特别注意:

  1. 参数可以是数字,或者是包含数字的名称、数组或引用

  2. 如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略,但包含零值的单元格将计算在内;

  3. 如果数据集合中不含有重复的数据,则 MODE 数返回错误值N/A。

例如下面的例子:

对象函数怎么使用(我能告诉你谁是大家眼中的大众情人)(2)

为什么出错了?

Mode函数得出了错误值,原因就是因为这些数值都是文本,而不是真正的数字,而文本是会被忽略的。那么正确的做法是什么呢?

二、统计出现次数最多的开奖号码

接着上面的例子,我们该如何快速统计出出现次数最多的号码呢?

对象函数怎么使用(我能告诉你谁是大家眼中的大众情人)(3)

思路

思路:我们可以利用Mode函数来做。然而,我们的Mode函数只能对数字进行统计,文本是不能参与统计的。因此:

  1. 将所有的文本型数字转化为数字:(1)引用区域加2个负号:=--B7:I22;(2)引用区域乘以1:=1*(B7:I22)

  2. 利用mode函数求众数:=mode(--B7:I22)

  3. 规避没有重复值的情况:=iferror(mode(--B7:I22),"")

  4. 将结果转化为文本:=text(iferror(mode(--B7:I22),""),"00")

最终的公式为:

=TEXT(IFERROR(MODE(--B7:I22),""),"00")

结果为84。

三、谁是咱们公司的大众情人?

我们经常举行选举,班干部的选举,村长的选举、大众情人的投票等等,那么如何快速地对得出谁是大家心目中的大众情人呢?如下图所示:

对象函数怎么使用(我能告诉你谁是大家眼中的大众情人)(4)

谁是大众情人

思路:Mode函数只会对数值进行统计,而文本只会被自动忽略。那么如何将文本转化为数字呢?显然,直接转换是不可能,因此:

1.我们可以以每个名字的位置序号来代替这个名字:

{=MATCH(A$27:A$53,A$27:A$53,)}

match函数只会返回某一个数字第一次出现的位置,我们是利用match函数的这个特性。

2.match函数的结果求出众数:{=mode(MATCH(A$27:A$53,A$27:A$53,))}

3.我们只知道出现次数最多的名字的位置序号是肯定不够的,我们还需要返回名字。因此我们可以利用index函数来做。

{=index(A$27:A$53,mode(MATCH(A$27:A$53,A$27:A$53,)))}

4.为了防止公示显示错误值,因此我们需要在外层嵌套一个iferror函数,最终结果如下:

{=IFERROR(INDEX(A$27:A$53,MODE(MATCH(A$27:A$53,A$27:A$53,))),"")}

关于众数,今天我就简单分享到这里,顺便也给大家提一下:除了mode函数,mode.mult和Mode.sgnl也是可以完成上述工作的,用法上跟mode函数没啥大的区别。大家有兴趣的可以去网上搜一搜,这里我就不再赘述了。

对象函数怎么使用(我能告诉你谁是大家眼中的大众情人)(5)

大众情人是林永大

,