如果談起Excel里最先被大家所認(rèn)識(shí)和熟悉的函數(shù),大概也就是IF、SUM和VLOOKUP這三家伙了,其中IF函數(shù)作為條件判斷函數(shù),簡單又實(shí)用,不但職場常用,也是Office等級(jí)考試必考。
在工作和學(xué)習(xí)中,也許有很多表格問題你已習(xí)慣了使用IF函數(shù),但有時(shí)候IF函數(shù)并不是最適用的,特別是嵌套多層的情況下,比如=if(if(if(if),if(),if()))),自己都能把自己繞暈了不是?坦白的說,當(dāng)嵌套層次超過3層,If函數(shù)就應(yīng)該被其它函數(shù)替代了。
跟我來,給您表演舉幾個(gè)例子……
案例1
連續(xù)區(qū)間判斷
每當(dāng)Office二級(jí)考試來臨的那段時(shí)間,總有很多學(xué)生跑來問星光下面這樣類似的問題。
根據(jù)E:G列的計(jì)算規(guī)則,對(duì)B列的編號(hào)劃分班級(jí)。例如0-100之間為1班,200-300為2班,500-600之間為3班……但如果編號(hào)不在規(guī)則范圍內(nèi),例如102,則返回“界外”。
嗯,IF函數(shù)……大概是這樣的……
=IF((B2>=E$2)*(B$2<=f$2),g$2,if((b2>=E$3)*(B$2<=f$3),g$3,if((b2>=E$4)*(B$2<=f$4),g$4,if((b2>=E$5)*(B$2<=f$5),g$5,if((b2>=E$6)*(B$2<=F$6),G$6,”界外”)))))
聽說公式寫的越長越復(fù)雜水平越流弊?呵呵噠,誰信誰年輕。
其實(shí)公式可以很簡單的:
=IFERROR(LOOKUP(1,0/((B2>=E$2:E$6)*(B2<=F$2:F$6)),G$2:G$6),”界外”)
LOOKUP(1,0/查詢條件,查詢結(jié)果)是函數(shù)中經(jīng)典的條件查詢套路,常用于多條件查詢;本例中當(dāng)該公式查無結(jié)果時(shí),使用IFERROR返回指定結(jié)果:界外。
(B2>=E$2:E$6)*(B2<=F$2:F$6)是條件,當(dāng)查找值既大于等于E列的值,又小于等于F列的值時(shí),說明它處在正確的區(qū)間內(nèi),會(huì)返回True,相反則返回邏輯值False
0/True等同0/1,結(jié)果返回0,0/False等同0/0,結(jié)果返回錯(cuò)誤值。
LOOKUP忽略錯(cuò)誤值,查找值1比查找范圍內(nèi)所有的0都大,因而返回最后一個(gè)0所對(duì)應(yīng)的結(jié)果,也就是目標(biāo)班級(jí)。
思考時(shí)間
▼
第3個(gè)案例為什么不能直接使用例子1的LOOKUP模糊查詢套路?