大家好,今天和大家分享“Vlookup函數(shù)累的趴下了',這只是一個(gè)比方,一題多解,不用我說,你們看完之后就知道那種方法最好,Vookup最累,加權(quán)這個(gè)方法自作多情。sumif最爽,sumproduct棘手,題目要求:根據(jù)姓名查找數(shù)量,姓名和數(shù)量出現(xiàn)在多行多列區(qū)域中,如下圖
一、解法1:Vlookup實(shí)現(xiàn)
1、公式截圖
2、公式
=IFERROR(VLOOKUP(B8,A1:B4,2,0),'')&IFERROR(VLOOKUP(B8,D1:E4,2,0),'')&IFERROR(VLOOKUP(B8,G1:H4,2,0),'')&IFERROR(VLOOKUP(B8,J1:K4,2,0),'')
3、公式解釋
4個(gè)區(qū)域,用4個(gè)vlookup連接
如果找不到就會(huì)報(bào)錯(cuò),報(bào)錯(cuò)就顯示空
這種方法的缺點(diǎn)就是區(qū)域多,公式越長,如果數(shù)據(jù)有50個(gè)區(qū)域,就要用50個(gè)vlookup,當(dāng)然Vlookup累的趴下了,寫公式的人也夠嗆了。
二、解法2:Sumprodict Text實(shí)現(xiàn)
1、公式截圖
2、公式
=SUMPRODUCT((A2:J4=B8)*(TEXT(B2:K4,'0;-0;0;!0')))
3、公式解釋
判斷區(qū)域是否有等于“小老鼠”的,這個(gè)返回的是一個(gè)二維數(shù)組,由true和false組成的,要注意的是選擇區(qū)域時(shí)要少先一列,最后一列不要選
把判斷的結(jié)果和區(qū)域B2:K4相乘,注意這個(gè)也要是少選了一列,第1列不選,這樣就前面的區(qū)域判斷就吻合了,但是由于這個(gè)區(qū)域有姓名漢字,所以要用text處理一下,把漢字強(qiáng)制顯示0用這個(gè)公式(TEXT(B2:K4,'0;-0;0;!0'))
最后用sumproduct求和,就不用三鍵了,如果用sum就要三鍵一齊下Ctrl Shift 回車
三、解法3:加權(quán)實(shí)現(xiàn)
1、公式截圖
2、公式
=INDIRECT(TEXT(MIN(IF(A1:K4=B8,ROW(A1:A4)*10^4 COLUMN(A1:K1) 1)),'R0C0000'),)
3、公式解釋
IF(A1:K4=B8,ROW(A1:A4)*10^4 COLUMN(A1:K1) 1)判斷區(qū)域如果有等于'小老鼠',那么就行號上加權(quán),乘以10的4次方,也就是10000再加上列號,還要加上,因?yàn)榻Y(jié)果是在姓名的后一列
text(加權(quán)后的值,“R0C0000')目的讓其顯示R1C1引用樣式,方便indirect函數(shù)引用
四、解法4:sumif函數(shù)輕松實(shí)現(xiàn),一個(gè)字“爽”
1、公式截圖
2、公式
=SUMIF(A1:J4,B8,B1:K4)
3、公式解釋
這是sumif函數(shù)經(jīng)典的錯(cuò)位用法
如果數(shù)據(jù)源沒有重復(fù)的姓名,sumif可以當(dāng)vlooku函數(shù)用,因?yàn)闆]有重復(fù)的,求和的結(jié)果就是vlookup引用返回的結(jié)果。
大家注意第一參少選最后一列;第3參數(shù)少選第1列