excel如何查出一組數(shù)據(jù)里大于某個(gè)值的最小值

標(biāo)題有些繞,舉個(gè)栗子一目了然。

比如有5個(gè)數(shù)字:(1,2,3,21,22),需要求出這5個(gè)數(shù)字里面大于10的最小值,那需要得到的值就是21,excel中求最大值或者最小值都很簡(jiǎn)單,max和min函數(shù)就解決了,但是求大于某個(gè)值的最小值,就會(huì)有些繞,目前我有兩種方法能求出這個(gè)數(shù),一是min函數(shù)的數(shù)組公式,二是countif+large(或者countif+small函數(shù))

一、min函數(shù)數(shù)組公式

min函數(shù)的作用是求出一組數(shù)據(jù)中的最小值

這個(gè)例子主要用到了這個(gè)函數(shù)和求最大值的max函數(shù)的一個(gè)特性:當(dāng)參數(shù)是數(shù)組或者引用的時(shí)候,會(huì)忽視邏輯值(min函數(shù)其實(shí)挺復(fù)雜的,只是我們的使用方法很簡(jiǎn)單),邏輯值就是TRUE和FALSE,if函數(shù)里面判斷顯示哪個(gè)就是根據(jù)邏輯值進(jìn)行的。

插個(gè)題外話,以下內(nèi)容需要注意(摘自百度百科):

min函數(shù)有兩種使用方法:直接把數(shù)值當(dāng)做參數(shù),以及引用一個(gè)區(qū)域/數(shù)組

參數(shù)可以是數(shù)字、空白單元格、邏輯值或表示數(shù)值的文字串。如果參數(shù)中有錯(cuò)誤值或無(wú)法轉(zhuǎn)換成數(shù)值的文字時(shí),將引起錯(cuò)誤。

如果參數(shù)是數(shù)組或引用,則函數(shù) MIN 僅使用其中的數(shù)字,數(shù)組或引用中的空白單元格,邏輯值、文字或錯(cuò)誤值將忽略。如果邏輯值和文字串不能忽略,請(qǐng)使用 MINA 函數(shù) 。

如果參數(shù)中不含數(shù)字,則函數(shù) MIN 返回 0。

說人話就是,以下兩個(gè)公式的計(jì)算結(jié)果不相等:

公式一
公式二

上面兩個(gè)公式,都是求5個(gè)數(shù)的最小值,區(qū)別是前一個(gè)是直接引用,后一個(gè)是把這個(gè)5個(gè)數(shù)字直接當(dāng)做了min的參數(shù)。

因?yàn)閺纳厦娴拿枋隹梢灾?,?dāng)min的參數(shù)是引用的時(shí)候,true和false這種邏輯值是被直接忽視的,所以返回結(jié)果是1,而當(dāng)做參數(shù)的時(shí)候,true相當(dāng)于是1,false相當(dāng)于是0,所以返回了0.

sum、average、max等這些函數(shù)也有這種特性,大家在用的時(shí)候要小心。

用min數(shù)組公式來解決這個(gè)問題,目標(biāo)就是構(gòu)建出一個(gè)數(shù)組來,把小于規(guī)定數(shù)字的值全部設(shè)為false,那在這個(gè)數(shù)組中用min求值的話,因?yàn)閰?shù)是數(shù)組,會(huì)忽視false,就求出了大于這個(gè)值的最小值,詳細(xì)公式為:

因?yàn)槭菙?shù)組公式,所以需要用ctrl+shift+enter才能求出來,我們一步步看下這個(gè)公式:

數(shù)組公式

1、if中的判斷語(yǔ)句,B2:B6>10,是用B2:B6中的每一個(gè)數(shù)字去和10比大小,比較運(yùn)算的結(jié)果為邏輯值,B2:B6為一個(gè)區(qū)間,可以理解為一個(gè)數(shù)組,所以返回值也是一個(gè)數(shù)組:{FALSE;FALSE;FALSE;TRUE;TRUE}

邏輯判斷的返回值

2、if的判斷條件是一個(gè)數(shù)組的時(shí)候,就用到了另一個(gè)概念:if會(huì)把數(shù)組中的每一個(gè)值進(jìn)行真假判斷,比如不是0的數(shù)值就是真,就讀取if函數(shù)的第二個(gè)參數(shù),為0就讀取第三個(gè)參數(shù)詳細(xì)說明見這篇文章:如何理解if({1,0},X1,X2),這個(gè)例子里面,前三個(gè)值都是false,所以直接讀取了最后的false,而第4和5個(gè)值為true,會(huì)讀取B2:B6的第4和5個(gè)數(shù)字,分別就是32和21,所以內(nèi)部if的最終運(yùn)算結(jié)果為:{FALSE;FALSE;FALSE;32;21}

if的最終運(yùn)算結(jié)果

3、因?yàn)閙in函數(shù)的參數(shù)是一個(gè)數(shù)組,會(huì)忽略邏輯值,所以相當(dāng)于在32和21中求最小值,最終就返回了21(其實(shí)前一步if函數(shù)的最后一個(gè)參數(shù)是true也可以,那最后的min函數(shù)就是在{TRUE;TRUE;TRUE;32;21}這個(gè)數(shù)組中求最小值,其實(shí)結(jié)果也一樣,用false只是為了不混淆,用true可以,但是不能用1這種數(shù)字,因?yàn)檫@樣最后生成的數(shù)組就包含數(shù)字了,可能會(huì)引起錯(cuò)誤)

二、rank+large(rank+small)函數(shù)

第二種方法比第一種簡(jiǎn)單的多,理解了思路就很清晰了:

求大于某個(gè)值的最小值,那就是兩步:求出這組數(shù)據(jù)中小于這個(gè)數(shù)字的有n個(gè),然后返回這組數(shù)據(jù)中第n-1大的數(shù),或者求大于這個(gè)數(shù)字的有m個(gè),返回這組數(shù)據(jù)第m大的數(shù)

countif函數(shù)作用是求滿足條件的單元格數(shù)量,large是求一組數(shù)據(jù)中第幾大的數(shù)

比如還是:1,2,3,32,21這組數(shù),小于10的數(shù)字有3個(gè),而大于10的最小值就是這組數(shù)據(jù)里面第2大的數(shù),看詳細(xì)公式:

countif+large一


countif+large二

以上兩種方法等價(jià),只是別被“第幾大”這個(gè)概念繞暈了

large的對(duì)應(yīng)函數(shù)是small,求一組數(shù)據(jù)中第幾小的數(shù),和上面的公式大同小異,就不細(xì)說了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容