终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

10部适合女性看的唯美情色电影

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

凭什么让领导刮目相看?学会这个Excel函数就可以!

赵骄阳 秋叶Excel 2022-06-30
点击蓝字【秋叶 Excel】👆
发送【CSV】
免费领 超好用的 Excel 格式转换工具 CSV!

本文作者:赵骄阳
本文审核:玛奇鹅
本文编辑:雅梨子


大家好!我是偏爱函数公式的大叔 Mr 赵~

最近公司准备团建活动,负责策划的同事小蓝提供了几个方案让大家投票决定。

如下图,B 列是投票的结果,数字 1、2、3 分别代表三种不同的方案。

请问用什么函数可以快速找出投票最多的方案


当然是用 MODE 函数!

MODE 函数可以返回一组数据中出现次数最多的数值,用它再合适不过了!

如下图,在 D2 单元格输入公式:
=MODE(B2:B11)

得到的结果是 1,就是最终确定的方案啦!


可能有小伙伴会问,MODE 函数是不是只能统计出现次数最多的一个数值?

如果出现次数最多的数值有好几个,咋办呢?

如下图的案例,在 B 列我们看到,1 和 2 都是出现次数最多的数字方案,均出现了 4 次;

用 MODE 函数得到的结果却只有 1。


这个例子证实了 MODE 函数只返回一个值,而且是返回出现次数最多的第一个数值。

那么有什么办法才能返回多个结果呢~

相信不少同学已经从图中看到了,是的,我们可以用 MODE.MULT 函数搞定!
 

👉 操作步骤:

先选中单元格「D2:D11」,在编辑栏输入如下公式:
=MODE.MULT(B2:B11)

该函数是以数组的形式返回结果{1;2},需要按【Ctrl+Shift+Enter】组合键结束。

MODE.MULT 函数弥补了 MODE 函数不能返回多个结果的缺陷。

可能有小伙伴会抱怨了,虽然结果是出来了,但是下面一堆「#N/A」的错误值实在影响美观,看着好别扭呢~

不急,有办法!请往下看👇


在 D2 单元格输入如下公式,然后下拉。
=IFERROR(INDEX(MODE.MULT(B$2:B$11),ROW(A1)),"")
▲ 左右滑动查看

公式解析:

❶  MODE.MULT(B$2:B$11)返回「B2:B11」区域中出现次数最多的值组成的垂直数组;本示例中出现次数最多的是 1 和 2,所以返回值是数组{1;2};
❷ ROW(A1)是可变的,公式在 D2 单元格时,返回值是 1,当公式向下填充到 D3 单元格时,变为 ROW(A2),返回值是 2;
❸ 然后用 INDEX 函数,返回数组{1;2}中 ROW(A1)函数指定的位置的值:D2 单元格返回数值的第一个值,即是 1,D2 单元格返回数值的第二个值,即为 2;
❹ 最后用 IFERROR 函数屏蔽出现的错误值,如果有两个出现次数最多的数值,公式填充到第 2、第 3……第 n 行,也不会出现错误值。

不知大家注意到了没有,上面所讲的都是对出现次数最多的数值进行统计。

如果改换成文本,这个函数还适用吗?

答案是肯定的。

如下图,B 列的每行内容都是文本,怎么求出投票最多的方案呢?

这时候,需要先通过 MATCH 函数找到每个数据的位置转化为数值,然后利用 MODE 函数求出出现次数最多的方案;

再用 INDEX 将数字转化回对应的文本方案。


👉 操作步骤:

在 D3 单元格输入公式:
=INDEX(B:B,MODE(MATCH(B3:B12,B:B,)))
▲ 左右滑动查看

公式解析:

❶ 首先用 MATCH(B3:B12,B:B,)求出每个数据在 B 列第一次出现的位置,结果是{3;4;4;6;6;3;3;3;6;3};
❷ 再用 MODE({3;4;4;6;6;3;3;3;6;3})求得出现次数最多的数字位置是 3;
❸ 最后用 INDEX(B:B,3)重新转化,得到对应的文本「清远漂流」。

另外,MODE 函数有个特性,如果参数中没有重复的数字,即全部数字出现且仅出现一次,则 MODE 函数会返回错误值#N/A。

于是,我们可以利用这个特点来判断数据是否有重复。

如下图,如何利用 MODE 函数判断 B 列中的这组数据是否有重复?


操作步骤是这样的,在 D2 单元格输入公式:
=IF(ISNA(MODE(B2:B11)),"有","无")
▲ 左右滑动查看

公式解析:

❶ 当单元格区域「B2:B11」中没有重复值出现时,MODE(B2:B11)返回错误值#N/A;
❷ 然后用 ISNA 函数判断值是否为错误值;
❸ 最后用 IF 函数返回判断的结果。

在实际运用中,我们还经常会遇到带有合并单元格计算分摊的问题,MODE 函数仍然可以助我们一臂之力!


如下图,如何将每一天的费用按参加人数平均分摊呢?


👉 操作步骤:

在 E2 单元格输入公式,然后下拉:
=IF(D2,D2/INT(MODE(ROW($1:$11)+(C3:D13>0)%)),E1)
▲ 左右滑动查看

公式解析:

❶ C3:D13>0 判断单元格区域「C3:D13」(即公式所在行下面的区域)的每个单元格是否为空,如果为空返回 FALSE,否则为 TRUE。两个并排为 TRUE(标红字体部分)即为出现合并的位置;
❷ (C3:D13>0)%用百分比符号参与运算,将上面的结果缩小百倍,转化为小数;
❸ ROW($1:$11)+(C3:D13>0)%相当于在(C3:D13>0)%的每一行加上对应序号,生成一个多行两列的数组;


❹ INT(MODE(ROW($1:$11)+(C3:D13>0)%))从生成的数组结果中可以看出,相同的数字最多出现两次,用 MODE 函数返回出现次数最多的第一个数值,即是 3.01,然后用 INT 函数取整,就是当前参与消费的人数;
❺最后用 IF 函数判断,当 D 列单元格不为空时,用消费金额除以人数,即为分摊金额;否则返回 E 列上一行的金额。


小结一下:


❶ MODE 函数用来统计一组数据中出现次数最多的一个数值;

❷ 如果出现次数最多的数值可能有多个,需要使用 MODE.MULT 函数;

❸ 若要统计的数据是文本类型,需要借助其它函数进行转化,「曲线」得到想要的结果。如本次案例中,利用 MATCH 函数找到每个数据的位置,转化为数值再进行统计,然后用 INDEX 函数返回指定位置的文本;

❹ 如果数据中没有重复值出现,MODE 函数会返回错误值 #N/A,根据这个特点可以判断数据是否重复;

❺ 当出现次数最多的数值有多个时,MODE 函数只返回出现次数最多的第一个数值,利用这个特点可以解决实际中碰到的带合并单元格计算分摊的问题。

最后给大家留个练习题,请在留言区写出你的答案!


各位小伙伴,MODE 函数,你学会了吗?

如果我的分享对你有用,记得转发、点赞、在看一波,支持一下哦~

关注我们公众号【秋叶 Excel】,回复【MODE】即可获取本文练习文件哟~👇👇👇

注意注意
前方月底福利强势来袭!!!
秋叶 Excel 给大家争取了超大课程优惠
全场网课领券立减 20 元!
使用时间7 月 29 日-7 月 31 日
赶快扫码领取
👇👇👇
欢迎加入秋叶 Excel 专属读者群~和群友一起互相交流学习 Excel,互帮互助。

现在进群,不会掉落各种学习资源,助力大家提升办公效率





↓↓↓


遇到有价值的文章
不放过 !
👇👇👇
觉得实用
记得分享给朋友~
👇👇👇

文章有问题?点此查看未经处理的缓存