寫在前面:
Excel中對(duì)公式的部分內(nèi)容進(jìn)行試算的快捷鍵是F9躏精,有助于理解嵌套公式里各部分的含義刨肃。數(shù)組公式結(jié)束編輯時(shí)要用【Ctrl+Shift+回車】三鍵让虐,切記氓润!
Excel里邊根據(jù)一個(gè)值去查找列表內(nèi)另一個(gè)對(duì)應(yīng)的值,一般會(huì)想到用Vlookup或者INDEX+MATCH這對(duì)黃金搭檔屋厘。今天把查找匹配的方法來個(gè)合集涕烧。廢話不多說,上菜汗洒!
最近在看金庸先生所著《倚天屠龍記》议纯,根據(jù)書中描述的各人戰(zhàn)力杜撰了以下數(shù)據(jù)這里是武當(dāng)七俠的名單和他們各自的功力等級(jí)
下面聽我一一道來:NO.1 =VLOOKUP(E2,$B$2:$C$8,2,0)Vlookup比較簡(jiǎn)單,江湖上成名已久的俠士溢谤。第一個(gè)參數(shù)是要查找的值(張翠山)瞻凤,第二個(gè)參數(shù)是查找區(qū)域即在哪里查找(B2:C8),第三個(gè)參數(shù)是返回的結(jié)果(對(duì)應(yīng)的功力等級(jí))在查找區(qū)域的第幾列(這個(gè)參數(shù)是相對(duì)位置,這里是2)第四個(gè)參數(shù)是查找類型世杀,0表示精確查找阀参。
NO.2 =LOOKUP(1,0/($B$1:$B$8=E2),$C$1:$C$8)然后是Vlookup的大哥,lookup瞻坝,這位高手神龍見首不見尾蛛壳,結(jié)合邏輯值和數(shù)組可以變換出很多招式,vlookup返回的是第一個(gè)滿足條件的值所刀,lookup返回的是最后一個(gè)滿足條件的值.這里的用法是其中很經(jīng)典的一種衙荐。解釋下:公式中的第二個(gè)參數(shù)中【($B$1:$B$8=E2)】計(jì)算結(jié)果是【FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE】
然后用0除以這個(gè)數(shù)組,0除以0返回錯(cuò)誤值(因?yàn)?不能是分母浮创,數(shù)學(xué)常識(shí))忧吟,0除以1等于0得到新數(shù)組【#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!】即源數(shù)據(jù)中姓名區(qū)域中等于【張翠山】的值返回0,其余返回錯(cuò)誤值斩披。然后用1作為查找的值在構(gòu)建的數(shù)組中查找溜族,找不到1胸嘴,所以返回最接近1的值(相比錯(cuò)誤值)0所對(duì)應(yīng)的數(shù)據(jù),這樣就實(shí)現(xiàn)查找匹配啦斩祭。
NO.3 =INDEX($C$1:$C$8,MATCH(E2,$B$1:$B$8))搞明白了上一個(gè)劣像,下邊的就好理解了INDEX+MATCH這組黃金搭檔很經(jīng)典啊,MATCH計(jì)算【張翠山】在姓名區(qū)域中的相對(duì)位置摧玫,INDEX用MATCH的計(jì)算結(jié)果作為參數(shù)耳奕,返回【功力等級(jí)】區(qū)域中相應(yīng)位置的值,搞掂N芟瘛屋群!
NO.4 =OFFSET(C1,MATCH(E2,$B$1:$B$8)-1,,,)然后是輕功高手OFFSET登場(chǎng),先用MATCH計(jì)算【張翠山】在姓名區(qū)域中的相對(duì)位置坏挠,跟上邊那個(gè)一樣啦芍躏,然后減掉1,得出的結(jié)果作為OFFSET偏移的行數(shù),然后三個(gè)逗號(hào)省略掉另外幾個(gè)參數(shù)降狠。是不是沒太懂对竣?再想想唄~~~
NO.5 =SUMIF($B$1:$B$8,E2,$C$1:$C$8)輪到SUMIF了,條件求和函數(shù)榜配,對(duì)滿足定義條件的數(shù)據(jù)進(jìn)行求和運(yùn)算本例中這樣理解:第一個(gè)參數(shù)是條件判斷區(qū)域(姓名)否纬,第二個(gè)參數(shù)是判斷條件(張翠山),第三個(gè)參數(shù)是求和的區(qū)域(功力等級(jí))蛋褥。公式的含義就是對(duì)姓名中是張翠山的那一項(xiàng)對(duì)應(yīng)的功力等級(jí)進(jìn)行求和临燃。這樣就得出結(jié)果了!當(dāng)然這個(gè)方法的前提是在姓名中【張翠山】只有一個(gè)烙心,且要求的【功力等級(jí)】是數(shù)字膜廊。下邊的兩個(gè)也是同樣的前提!
NO.6 =SUM(($B$2:$B$8=E2)*$C$2:$C$8)Excel江湖中最低調(diào)的SUM要露一手啦【($B$2:$B$8=E2)】部分計(jì)算之后返回?cái)?shù)組{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}(選中公式按下F9即可看到)會(huì)發(fā)現(xiàn)只有【張翠山】對(duì)應(yīng)的那一行返回TRUE,然后乘上數(shù)組{70;70;60;50;40;40;30},就會(huì)返回新數(shù)組{0;0;0;0;40;0;0}淫茵,然后SUM再對(duì)結(jié)果進(jìn)行求和計(jì)算就可以得到想要的結(jié)果啦(張翠山的功力等級(jí))
NO.7 =SUMPRODUCT(—($B$2:$B$8=E2),$C$2:$C$8)最后一個(gè)是SUM的遠(yuǎn)房親戚SUMPRODUCT爪瓜,這位仁兄是數(shù)組函數(shù),SUMPRODUCT漢語意思是:乘積之和痘昌,在給定的幾組數(shù)組中钥勋,將數(shù)組間對(duì)應(yīng)的元素相乘炬转,并返回乘積之和辆苔。數(shù)組參數(shù)必須具有相同的維數(shù),否則扼劈,函數(shù) SUMPRODUCT 就會(huì)返回錯(cuò)誤值 #VALUE!在這里的用法跟上邊的SUM相似驻啤,也是判斷條件返回邏輯值組成的數(shù)組{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE},然后用兩個(gè)負(fù)號(hào)連接這個(gè)數(shù)組將它轉(zhuǎn)化成{0;0;0;0;1;0;0}作為SUMPRODUCT的第一個(gè)參數(shù)荐吵,{70;70;60;50;40;40;30}作為第二個(gè)參數(shù)骑冗;SUMPRODUCT會(huì)將這兩個(gè)數(shù)組中的數(shù)值對(duì)應(yīng)相乘并求和赊瞬。這樣就得到【張翠山】的功力等級(jí)了!
好啦贼涩,今天的教程有點(diǎn)長額巧涧,而且有點(diǎn)燒腦,多看幾遍學(xué)習(xí)下解決問題的思路遥倦,舉一反三谤绳!