EXCEL中嵌套函數(shù)的設(shè)計(jì)思路
1. 嵌套函數(shù)的層級(jí)限制在EXCEL中,有400多個(gè)函數(shù)可供使用。有些需求可以通過單一函數(shù)完成,比如求和可以使用SUM函數(shù)。然而,對(duì)于大多數(shù)需求來(lái)說,單一函數(shù)是無(wú)法滿足的,需要將多個(gè)函數(shù)組合起來(lái)使用才
1. 嵌套函數(shù)的層級(jí)限制
在EXCEL中,有400多個(gè)函數(shù)可供使用。有些需求可以通過單一函數(shù)完成,比如求和可以使用SUM函數(shù)。然而,對(duì)于大多數(shù)需求來(lái)說,單一函數(shù)是無(wú)法滿足的,需要將多個(gè)函數(shù)組合起來(lái)使用才能實(shí)現(xiàn)目標(biāo)。
在EXCEL中,為了達(dá)到某種目的,常常需要多個(gè)函數(shù)一起使用,其中某個(gè)或一些函數(shù)的結(jié)果作為另一個(gè)函數(shù)的參數(shù),并且這個(gè)函數(shù)又可能作為其他函數(shù)的參數(shù),就這樣一層一層地設(shè)計(jì)出公式,這種用法稱為嵌套。
根據(jù)EXCEL版本不同,嵌套函數(shù)的允許層數(shù)也不同。在2003版及以前,最多只能嵌套7層;而之后的版本允許最多64層嵌套。超過7層嵌套的公式相對(duì)較常見,但達(dá)到64層嵌套的幾乎看不到,一般嵌套得比較多的情況也只有十幾層。
2. 嵌套函數(shù)的參數(shù)匹配
嵌套函數(shù)是以某個(gè)函數(shù)的結(jié)果作為另一個(gè)函數(shù)的參數(shù),因此這個(gè)結(jié)果必須滿足另一個(gè)函數(shù)的參數(shù)類型,否則會(huì)出錯(cuò)。例如,如果要返回單價(jià),VLOOKUP函數(shù)的第三個(gè)參數(shù)應(yīng)該使用2,但如果使用COLUMN(A:A)作為參數(shù)時(shí),結(jié)果為1,與預(yù)期的單價(jià)不符。
要解決這個(gè)問題,可以將第三個(gè)參數(shù)改為COLUMN(B:B),即將公式修改為:VLOOKUP(D2,A:B,COLUMN(B:B),0),這樣就可以得到正確的結(jié)果。
3. 嵌套函數(shù)的編輯方式
編輯嵌套函數(shù)可以從外向內(nèi)或者從內(nèi)向外進(jìn)行,也可以結(jié)合兩種方式。最常見和簡(jiǎn)單的嵌套函數(shù)之一是IF函數(shù)的嵌套。例如,如果要將A列的分?jǐn)?shù)改成等級(jí),當(dāng)分?jǐn)?shù)小于60時(shí)返回"不及格",大于等于60小于80時(shí)返回"及格",大于等于80小于90時(shí)返回"良",大于等于90時(shí)返回"優(yōu)",可以使用IF函數(shù)來(lái)實(shí)現(xiàn)。
首先判斷第一層條件,即分?jǐn)?shù)是否小于60,小于60則返回"不及格",否則繼續(xù)判斷下一層條件,即分?jǐn)?shù)是否小于80,在此范圍內(nèi)返回"及格",否則繼續(xù)判斷下一層條件,以此類推。公式如下:
IF(A2<60,"不及格",IF(A2<80,"及格",IF(A2<90,"良","優(yōu)")))
利用多層嵌套函數(shù)完成公式的設(shè)計(jì),并且可以向下填充應(yīng)用于其他單元格。
4. 提取特定數(shù)據(jù)的嵌套函數(shù)
舉例來(lái)說,假設(shè)現(xiàn)在的銷售記錄是記在一個(gè)單元格內(nèi),需要將每種水果的銷售數(shù)量提取出來(lái),這里以"香蕉"為例。
由于在表中每天的銷售中,各種水果的銷售量和銷售品種都不固定,無(wú)法統(tǒng)一從某個(gè)字符開始提取。因此,我們首先需要判斷當(dāng)天銷售中是否有"香蕉"這個(gè)品種,如果有再提取數(shù)量,沒有則返回空值或0。因此,首先判斷是否有"香蕉",可以使用FIND函數(shù)來(lái)實(shí)現(xiàn):
FIND(C$1,$B2)
為了方便提取其他水果的數(shù)量,在公式中使用了絕對(duì)引用符"$"進(jìn)行限定,公式可以向右向下填充。
如果無(wú)法找到"香蕉",公式會(huì)返回錯(cuò)誤值。為了順利編寫公式,可以先選擇一個(gè)已知包含"香蕉"的單元格編寫公式,暫時(shí)忽略錯(cuò)誤值。然后再完善公式,確定從哪個(gè)位置開始提取字符。
例如,公式中的5是一個(gè)臨時(shí)數(shù)字代用的:
MID(B2,FIND(C$1,$B2) 3,5)
然后根據(jù)實(shí)際情況確定需要提取多少個(gè)字符。在表中可以看到,需要提取的數(shù)量位于":"和","之間的數(shù)字。因此,需要先判斷","的位置才能確定要提取多少個(gè)字符。為了不影響原公式,我們可以在旁邊的輔助列中先進(jìn)行判斷,然后將這部分公式復(fù)制到原公式中。
使用FIND函數(shù)來(lái)查找","的位置并得到結(jié)果。由于單元格中可能有多個(gè)",",這里返回的是第一個(gè)","出現(xiàn)的位置。因此,需要從"香蕉"后面開始查找,這就需要嵌套F