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

或关系求均值(函数虐心版)

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

最近醉心于Python的学习和分享,好久没有分享Excel相关的文章了。

熟悉我文章的朋友,都知道我特喜欢分享数组函数,也特喜欢分享那种很长的函数。

前几天有朋友问了我一个很好的问题,今天和大家分享一下。

一、一个条件求销售均值

我有一个销售金额列表,现在需要统计石原里美的销售数量均值,我们需要使用averageif函数。

公式:=AVERAGEIF(B2:B12,"石原里美",C2:C12)

Averageif(要判断的列,判断条件,要求均值的列)

下面有个图送给大家

二、或关系多条件求均值

还是这个表,我们需要求石原里美、裴秀智、李智恩的销售均值。

如何处理这个问题呢,如果知道数组函数但是不是特熟练的朋友很愿意犯这个错误来求解。

错误解法如下:

{=AVERAGEIF(B2:B12,{"石原里美";"裴秀智";"李智恩"},C2:C12)}

Averageif实现单条件求和,很多朋友以为将单条件替换为数组即可,这里有个错误认知,是什么呢?如何此时你选中三个单元格然后输入这个函数看一下是什么效果?

当我们在一个单元格输入数组函数的时候,只能显示数组函数第一个的结果,怎么让他显示全部的值呢?如果是分号间隔,需要上下选中连续的单元格,如果逗号间隔,需要左右选中连续的单元格。

所以此种方法无法直接实现多条件或关系求和!

如果才能正确得出我们想要的结果呢?

思路如下:

1、用If函数判断B列是否与目标文本一致,如果一致返回C列的值,反之返回空文本

2、用Average函数对上述结果进行求均值

公式:{=AVERAGE(IF(B2:B12={"石原里美","裴秀智","李智恩"},C2:C12,""))}

大括号不是人为输入的,输入函数后同时按住Ctrl+shift+enter可以自动生成

为什么这个数组函数可以呢?那我们来拆分一下这个函数

最外层Average不表,我们拆分一下IF函数

IF(B2:B12={"石原里美","裴秀智","李智恩"},C2:C12,"")

这个数组函数等于三个IF函数组合而成!

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

IF(B2:B12="裴秀智",C2:C12,"")

IF(B2:B12="李智恩",C2:C12,"")

这个三个IF函数会生成三列数据,第一个IF函数如何B列为石原里美则返回对应销售额,反之返回空文本。

第二个、第三个同理。

那三个IF函数就生成了包含33个(原始数据11个)单元格的数据,并且满足条件是销售金额,反之为空文本。

Average函数不计算空文本,所以把符合条件的销售金额进行了求均值。

达到了我们的预期目的!

练习文档如下:你可以自己下载研究一下!

链接: https://pan.baidu.com/s/1mjTYkf2 密码: vw7b

总结:数组函数只是实现了虚拟数组构建,如果想要实现数组的应用,需要在生成虚拟数组后外面嵌套一个函数进行运算!

到这里还不是最终极的,终极的是如果原始数据不是石原里美,而是XX石原里美XX这种形式的呢?包含关系如何处理?

鉴于已经很烧脑了,明天再分享!

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

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

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

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

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