excel if函数返回值,如果大于某一时间,则返回1,不大于刚返回0。

返回一列中“第二大”或“第N大”数值的公式
作者:Lijia 文章来源: 点击数: 更新时间: 16:13:28
&&& 通常,在Excel中要得到一列数值中的第二大数可用LARGE函数,如“=LARGE(A1:A10,2)”,但有时会遇到有多个最大值的情况,例如A列为“{9;9;9;4;8;4;8;5;5;6}”,上述公式返回的还是“9”,而我们要得到的“第二大”数值是“8”。这种情况下可用下面的一些公式,假如数据在A1:A10:
&&& 公式一:
&&& =LARGE(A1:A10,COUNTIF(A1:A10,MAX(A1:A10))+1)
&&& 公式二(数组公式):
&&& =MAX((A1:A10&MAX(A1:A10))*A1:A10)
&&& 输入完毕需按Ctrl+Shift+Enter结束,下同。
&&& 公式三:
&&& =LARGE(IF(FREQUENCY(A1:A10,A1:A10),A1:A10),2)
&&& 公式四(数组公式):
&&& =LARGE(IF(MATCH(A1:A10,A1:A10,)=ROW(1:10),A1:A10),2)
&&& 最后两个公式不仅能返回“第二大”数值,还能返回“第N大”数值。将其中的“2”改为N即可返回“第N大”数值。
&&& 说明:
&&& 1.第一个公式先统计A1:A10中最大值的数量,再加上“1”作为LARGE函数的第二个参数得到所需“第二大”数值。
&&& 2.第二个公式先求出所有小于A1:A10中最大值的数,再用MAX函数返回其中的最大值,即“第二大”数值。
&&& 3.FREQUENCY函数计算数值在区域内的出现频率,并返回一个垂直数组。第三个公式中FREQUENCY函数的两个参数都是“A1:A10”,返回的垂直数组对应A1:A10所有重复值的位置处为“0”。这样,结合IF函数可返回A1:A10中不包含重复值的数组,最后用LARGE函数返回“第二大”数值。之所以重复项对应位置返回“0”,这里笔者结合自己的理解简单解释一下,仅供参考。FREQUENCY函数的语法为:
&&& FREQUENCY(data_array, bins_array)
&&& 本例A1:A10及FREQUENCY(A1:A10,A1:A10)的返回值分别是:
&&& A1:A10:&&&&&&&&&{9;9;9;4;8;4;8;5;5;6}
&&& 返回的垂直数组: {3;0;0;2;2;0;0;2;0;1;0}
&&&&可以看到,第二个、第三个“9”对应返回值的位置处都为“0”,第二次出现的“4”、“8”及“5”对应位置处也都为“0”。假如FREQUENCY函数第二个参数数组“bins_array”中有N个数值,即使该参数数组中的数值没有按从小到大的顺序排列(如本例), FREQUENCY函数也会在计算时自动将其按从小到大的顺序排列,并将整个数值区域划分为N+1个区间,计算第一个参数数组“data_array”中的数值在这N+1个区间中的出现数量,同时以垂直数组的形式返回,这也是 FREQUENCY函数返回的数组比第二个参数数组“bins_array”多一个数值的原因。可以看到,返回的垂直数组中各数值出现的位置与第二个参数数组“bins_array”中的数值位置是一一对应的,最后多出的一个数为“data_array”中大于“bins_array”最大值的数量。本例FREQUENCY函数第二个参数数组“bins_array”也为“A1:A10”,排序后为“{4;4;5;5;6;8;8;9;9;9}”,10个数共划分了11个区间,其中有三个“9”,第一个“9”对应的区间为“&8”且“&=9”,A1:A10中这样的数有3个(即3个“9”),返回“3”,第二个和第三个“9”所对应的区间都为“&9”且“&=9”,这个区间是不存在的,其对应位置都返回“0”。其他重复数值对应的返回值“0”依此类推,参考下表。
&&& 4.最后一个公式中“IF(MATCH(A1:A10,A1:A10,)=ROW(1:10),A1:A10)”的作用与第一个公式类似,不再赘述。
上一篇文章:
下一篇文章:
其他网友还在看:
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
::发表评论::
评论内容:
请遵守及中华人民共和国其他各项有关法律法规。
严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
评论需要审核通过后才可见,本站管理员有权保留或删除评论内容。
评论内容只代表网友个人观点,与本网站立场无关。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Excel技巧天地 E-mail:EXCEL计算结果都是0.2,为什么用 IF 函数判断返回的结果不一样? - 知乎8被浏览1874分享邀请回答5添加评论分享收藏感谢收起IF({1,0}...)你迷惑了这么多人,到底是什么个意思?!
我的图书馆
IF({1,0}...)你迷惑了这么多人,到底是什么个意思?!
IF({1,0}...)你迷惑了这么多人,到底是什么个意思?!
很多人对if({1,0}..迷惑,大部分都来自于vlookup函数的从右至左查找的公式。=VLOOKUP(A9,IF({1,0},B2:B5,A2:A5),2,0)想彻底了解它的原由,我们还得从IF的基本用法说起~~IF(A1&=0,'正数','负数')这个很容易理解,如果条件成立,就返回后面第一个值,条件不成立就返回第二个。A1&=0(条件表达式)的结果只有两种:A1的值&=0时,结果是TRUE,否则结果是FALSE,而在IF结构中,所有非0的数字都等同于TRUE,而0相当于FALSE由此,下面两个公式的结果也可以理解了=if(1,'正数','负数') 的结果是 “正数”=if(0,'正数','负数') 的结果是 “负数”在前面兰色讲IF函数用法时,也介绍了,IF不仅可以返回一个值,也可以返回区域引用。所以下面的公式大家也应该可以理解了:=if(1,B2:B5,A2:A5) 返回的是 B2:B5=if(0,B2:B5,A2:A5) 返回的是 A2:A5而如果IF函数第一个参数是一个数组{1,0}=IF({1,0},B2:B5,A2:A5)参数为数组时,会分别进行计算。先用1作为参数判断,会返回B2:B5,然后用0作为参数判断,又返回一个结果A2:A5。两个结果会重新组合一个数组。B2:B5在第一列,A2:A5在第二列。excel精英培训ID:excelpx-tete每天一篇原创Excel教程,伴你学习Excel每一天!
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 excel if函数返回值 的文章

 

随机推荐