前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >或关系模糊匹配求均值(虐心升级版)

或关系模糊匹配求均值(虐心升级版)

作者头像
用户1332619
发布2018-03-08 17:57:11
8560
发布2018-03-08 17:57:11
举报
文章被收录于专栏:阿凯的Excel阿凯的Excel

上期和大家分享了如何使用数组函数实现或关系求均值。

本期和大家分享进一步的应用,或关系模糊匹配求均值。

如果没看上期直接看本期会比较痛苦,来个传送门!

点击我可以飞!!!

B列中是我随便构建的一列,我需要找到文字包含石原里美、裴秀智、李智恩销售金额均值

相对于上期有了新的挑战!

今天分享一下我的解题思路~

如果纯相等按照上期用此函数可以实现:{=AVERAGE(IF(B2:B12={"石原里美","裴秀智","李智恩"},C2:C12,""))}

我们先简化一下问题,先试着能否将包含石原里美的求均值

完全相等的函数简化如下:{=AVERAGE(IF(B2:B12="石原里美",C2:C12,""))}

那我们之前学过Vlookup的模糊匹配,增加一个通配符试一下?

返回值是#DIV/0.提示分母为0。为什么会提示这个呢?

=AVERAGE(IF(B2:B12="*石原里美*",C2:C12,""))

我们选中B2:B12="*石原里美*",然后按一下F9,看一下这段代码的返回值是什么!

我们发现全是false。证明通配符没有起到应有的作用,那肯定有人会问了,为什么Vlookup可以在这里不可以了呢?

函数中的某个参数输入的是文本的时候,可以使用通配符,但是当函数中用等号判断两个文本的时候,Excel会把星号当做普通文本来对待。换言之返回值是True或者False时,通配符无效。

那如何判断是否包含呢?我们考虑一下用search函数试试是否可以!

公式:=SEARCH("石原里美",B2)

函数用法:=SEARCH(查找内容,在哪里找)

返回值是第一个文本在第二个文本中的位置。

那我们用Search代替B2:B12="*石原里美*"等号判断是否可以呢?

提示为#VALUE,又有报错,那我们看一下错误步骤显示,看看是什么原因公式报错了。

选中单元格后,显示错误步骤,Excel提示我们是在Average做运算的时候会报错,为什么会报错呢,因为Average无法计算#VALUE的均值!

#VALUE是怎么产生的呢?

还记得Search函数的返回值没?回头看一下!

为了方便理解我们在Average里面加个iferror吧,如果没有错误返回本身,如果有错误返回空的文本

最后就是在Search函数将一个人替换为多个人就好啦!

就这样,继续放链接!

链接: https://pan.baidu.com/s/1i6Ueu25 密码: c8b7

本期是从我的个人编函数的思路和大家分析的,所以和之前分享方法不太一致。有问题欢迎交流。写到九点半~要休息咯,我想,明晚我写一下如何用Python实现或关系包含关系求均值吧!大家可以对比学习看看哪个更容易理解!

就酱!谢谢~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿凯的Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档