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

最近醉心于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这种形式的呢?包含关系如何处理?

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

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2018-01-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习和数学

[数据结构和算法]《算法导论》动态规划笔记(2)

上一次介绍了动态规划解决钢条切割问题,这次介绍一下动态规划的原理,什么样的最优化问题适合用动态规划解决? 具有的两个基本特征:最优子结构和子问题重叠。 最优子结...

2739
来自专栏绿巨人专栏

Modern Algebra 读书笔记

3065
来自专栏数据结构与算法

P3818 小A和uim之大逃离 II

题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险。突然...

2907
来自专栏韩伟的专栏

你真的理解数码技术吗?(完)

1.3 图片是如何用数字来记录的 除了文字以外,人类表达信息的另外一个重要手段就是图案。图画对比文字,更能在不同语言、不同种族间的人们之间传递信息。 1.3....

2515
来自专栏诸葛青云的专栏

C语言控制台界版2048游戏-既然是这样的!

《2048》是最近比较流行的一款数字游戏。原版2048首先在github上发布,原作者是Gabriele Cirulli。它是基于《1024》和《小3传奇》(T...

150
来自专栏小樱的经验随笔

hihoCoder #1142 : 三分求极值

#1142 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: ? 在直...

3369
来自专栏C语言C++游戏编程

400行代码编C语言控制台界版2048游戏,编写疯子一样的C语言代码

《2048》是最近比较流行的一款数字游戏。原版2048首先在github上发布,原作者是Gabriele Cirulli。它是基于《1024》和《小3传奇》(T...

230
来自专栏深度学习自然语言处理

如何防止softmax函数上溢出(overflow)和下溢出(underflow)

《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上...

35210
来自专栏Java成神之路

计算字符串相似度算法——Levenshtein

Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。

961
来自专栏林德熙的博客

Latex 公式速查

所有的在 Latex 使用的字符公式,都需要放在\(和\),$ 和 $,\begin{math} 和\end{math}之间。

863

扫码关注云+社区