ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Excel按区间查询,大咖有句悄悄话

2021-03-16 19:51:08  阅读:169  来源: 互联网

标签:F2 函数 悄悄话 咖有 Excel 13 FREQUENCY LOOKUP 分段


表亲们,早上好,很久不见了,像想念静静一样想念你们(此处省略好几万字……)。嗯,打个响指,说正事呗,今天和大家分享的EXCEL知识是两个函数公式套路,有关数据区间查询的。

LOOKUP函数 

第一个函数是大家耳熟能详的LOOKUP。

举个例子,如下图,A1:B6区域是一张成绩评价标准表,小于60不及格,大于等于60小于80为及格,大于等于80小于90为优良……依次类推。

图片
现在我们要对某个同学的成绩做出评判。

G2单元格输入下面的公式,并向下填充:

=LOOKUP(F2,A$2:B$6)

假设这位同学是EH在线培训课程【图表之美】的女汉子大红花,她图表成绩得了98分,那么她的最终评价是:优异。

假设某天大红花因为思念某人,导致发挥严重失常,只考了68分,那么该公式返回的结果为:及格。

需要说明的是,LOOKUP的这个查询套路,即

LOOKUP(查找值,查找区域)

要求查找区域的首列数据升序排列,否则公式可能得出错误的结果。

FREQUENCY函数 

第二个函数微信里平时很少给大家介绍,是FREQUENCY。

在EXCEL函数里,FREQUENCY是一个运算效率很高、功能异常强大的函数,在条件计数、查询、排序等方面都有很多妙用,但它又是一个难点函数,以至于用的人很少,少到什么地步?夜晚的时候,呼吸着纯净的雾霾,你抬头数数天上的星星就知道咧。

今天先简单介绍一个FREQUENCY区间查询的套路,感兴趣的亲们可以到ExcelHome论坛对这个函数自我充电下。

依然举个例子。

图片
如上图,A1:B6单元格区域依然是一份成绩评价标准表。

F2:F3区域依然是大红花同学的两次得分记录,现在,依然需要对她的两次得分进行评级。

看起来似乎和上面的例题并无区别,但需要说明的是评分标准。

评分标准并不是0-9得A,10-14得B……诸如此类,而是寻找最接近的值,进而得出结果。

比如大红花的首次得分为13,13距离10相差3,距离15相差2,结论,13更靠近15,所以,大红花的评级结果为15所对应的C级,而非10所对应的B级。

简单的说,就是靠近谁,就属于谁——真是一个单细胞的女汉子啊。

G2输入公式,并向下填充:

=LOOKUP(1,0/FREQUENCY(0,ABS(A$2:A$6-F2)),B$2:B$6)

简单说明一下这个公式的运算过程。

ABS(A$2:A$6-F2)部分,计算得出A2:A6区域和F2之间差的绝对值(正数和零),得到一个内存数组:

{13;3;2;12;17}

Frequency函数,以ABS函数的计算结果为分段区间,对0进行计频。

由于frequency函数只在分段点首次出现时统计频数,且统计小于等于此分段点,大于上一分段点的频数,所以0所返回的计频位置,总是处于最接近0的那个分段点,本例中这个分段点是2,计数为1,其余分段点,计数为0。

依然得到一个内存数组:

{0;0;1;0;0;0}

上面那段话对于不懂FREQUENCY的小伙伴们而言简直如同天书,好吧,FREQUENCY函数将0扔到了最接近它的那个值身上,从此以后0就归那个值了,那个值得到了一个0,计数为1,从此过上了幸福的生活,其他人啥都没得到,所以都返回0,打了光棍——嗯,就是这么回事。

最后又是一个LOOKUP的查询套路:

LOOKUP(1,0/(条件),目标区域或数组)

0/FREQUENCY(0,ABS(A$2:A$6-F2)),构建一个由0和错误值#DIV/0!组成的数组,再用永远大于0的1作为LOOKUP的查找值,即可快速得出0所对应的目标区域结果。

此处的LOOKUP目标区域为B$2:B$6,因此得分13,返回15所对应的B4的值C。

此外需要说明的是,FREQUENCY函数支持分段区间乱序,所以并不需要得分区域必须升序排列。

结束语

这就是今天和大家分享的两个有关区间段查询的函数套路,关于FREQUENCY部分,能懂就懂,不懂就算,套路嘛,关键时刻会套用就好,理不理解其实也没啥。

我是男神,我是星光,喜欢我,就伸出大拇指支持我吧!


标签:F2,函数,悄悄话,咖有,Excel,13,FREQUENCY,LOOKUP,分段
来源: https://blog.51cto.com/15127542/2662070

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有