excel如何查出一组数据里大于某个值的最小值

 我来答
户如乐9318
2022-06-27 · TA获得超过6654个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:139万
展开全部
标题有些绕,举个栗子一目了然。

比如有5个数字:(1,2,3,21,22),需要求出这5个数字里面大于10的最小值,那需要得到的值就是21,excel中求最大值或者最小值都很简单,max和min函数就解决了,但是求大于某个值的最小值,就会有些绕,目前我有两种方法能求出这个数,一是min函数的数组公式,二是countif+large(或者countif+small函数)

min函数的作用是求出一组数据中的最小值

这个例子主要用到了这个函数和求最大值的max函数的一个特性:当参数是数组或者引用的时候,会忽视逻辑值(min函数其实挺复杂的,只是我们的使用方法很简单),逻辑值就是TRUE和FALSE,if函数里面判断显示哪个就是根据逻辑值进行的。

插个题外话,以下内容需要注意(摘自百度百科):

用min数组公式来解决这个问题,目标就是构建出一个数组来,把小于规定数字的值全部设为false,那在这个数组中用min求值的话,因为参数是数组,会忽视false,就求出了大于这个值的最小值,详细公式为:

因为是数组公式,所以需要用ctrl+shift+enter才能求出来,我们一步步看下这个公式:

1、if中的判断语句,B2:B6>10,是用B2:B6中的每一个数字去和10比大小,比较运算的结果为逻辑值,B2:B6为一个区间,可以理解为一个数组,所以返回值也是一个数组:{FALSE;FALSE;FALSE;TRUE;TRUE}

2、if的判断条件是一个数组的时候,就用到了另一个概念:if会把数组中的每一个值进行真假判断,比如不是0的数值就是真,就读取if函数的第二个参数,为0就读取第三个参数详细说明见这篇文章: 如何理解if({1,0},X1,X2) ,这个例子里面,前三个值都是false,所以直接读取了最后的false,而第4和5个值为true,会读取B2:B6的第4和5个数字,分别就是32和21,所以内部if的最终运算结果为:{FALSE;FALSE;FALSE;32;21}

3、因为min函数的参数是一个数组,会忽略逻辑值,所以相当于在32和21中求最小值,最终就返回了21(其实前一步if函数的最后一个参数是true也可以,那最后的min函数就是在{TRUE;TRUE;TRUE;32;21}这个数组中求最小值,其实结果也一样,用false只是为了不混淆,用true可以,但是不能用1这种数字,因为这样最后生成的数组就包含数字了,可能会引起错误)

第二种方法比第一种简单的多,理解了思路就很清晰了:

求大于某个值的最小值,那就是两步:求出这组数据中小于这个数字的有n个,然后返回这组数据中第n-1大的数,或者求大于这个数字的有m个,返回这组数据第m大的数

countif函数作用是求满足条件的单元格数量,large是求一组数据中第几大的数

比如还是:1,2,3,32,21这组数,小于10的数字有3个,而大于10的最小值就是这组数据里面第2大的数,看详细公式:

以上两种方法等价,只是别被“第几大”这个概念绕晕了

large的对应函数是small,求一组数据中第几小的数,和上面的公式大同小异,就不细说了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式