Excel情报局
职场联盟Excel
如下图所示:
A1:B10是数据源,A列是水果名称,B列是单价,同一种水果名称存在不同时段内的单价涨幅,所以不同水果可能对应多个单价,我们想要进行一项统计工作:统计每种水果名称出现的最后一个单价是多少,并将结果显示在D:E列区域。
思路很经典,很多同学可能都掌握的非常熟练了,但是小编总是喜欢温故知新,虽然经典,但是不是经常使用,可能也会生疏遗忘,每个月复习个一两遍也是挺酷的选择。
首先我们要将所有的水果名称进行去重提取,用到的是UNIQUE函数:
=UNIQUE(A2:A10)
UNIQUE函数是经典的去重函数。可以将A2:A10区域内含有重复的水果名称去除重复值后保留唯一项进行提取显示在E列。
接下来就是非常经典的分别提取每组重复的水果名称中最后一个对应的单价了。
这里用到的是LOOKUP函数模糊查询的经典结构:
=LOOKUP(1,0/(条件区域=条件),查询区域)
首先输入公式:
=D2=$A$2:$A$1
结构中“条件区域=条件”是对条件做一个逻辑判断。本例中的D2=$A$2:$A$1,它返回的结果是一组逻辑值:
{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
依次将D2单元格的内容“苹果”与$A$2:$A$1区域内每个单元格内容进行对比,看是否相同,如果相同,返回逻辑值TRUE,反之返回逻辑值FALSE。
继续用0除以上面逻辑式:
=0/(D2=$A$2:$A$10)
在Excel中,0代表FALSE,1代表TREU,因此0/(条件区域=条件)这部分是
0/{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
数学课本中规定由于0不能作为除数,因此0/FASLE就返回错误值。而0/TREU则返回0:
{0;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
根据数学课本中四则运算规则先乘除后加减原则,还需要注意一点就是
(D2=$A$2:$A$10)部分须要加上括号。
LOOKUP函数运算机制是:查找一个数,若找不到,就返回小于等于这个数的最大的那个数,所以用“1”作为LOOKUP函数第一参数查找值:
=LOOKUP(1,0/(D2=$A$2:$A$10),$B$2:$B$10)
LOOKUP函数查找“1”会一直找不到,就会返回最后一个小于等于1的最大的那个数0所对应的$B$2:$B$10区域内相同位置上的数值。
由于在这个结构下,LOOKUP函数默认数据已经做了从小到大的排列,因此它会找到最后一个数值。
当然了LOOKUP函数第一参数查找值可以换成任何大于0的数字。
由此我们可以做一个联想推理:
本例中是单个条件的运用,如果含有多个条件,那么这个函数依然有固定套路:
=LOOKUP(1,0/((条件1)*(条件2)*(条件3)...),查询区域)
其实重复学习Excel,刚开始是挺难的,但重复的次数多了总会成为习惯,先从坚持一星期开始,你会爱上那种脑子又累,又无限充实的感觉。回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。
〖往期知识点精彩超链接点击阅读〗