如何使用VLOOKUP提取單元格字符串中的數(shù)值
在用EXCEL進(jìn)行數(shù)據(jù)處理時(shí),有時(shí)會(huì)遇到下面的數(shù)據(jù),單元格有數(shù)字、文字和字符,還要對(duì)數(shù)字進(jìn)行計(jì)算,如果數(shù)據(jù)量少還可以逐漸復(fù)制出來(lái)處理,但如果有成千上萬(wàn)行數(shù)據(jù)需要處理,就要用其他辦法了。
本文今天介紹了一種方法:如何用VLOOKUP來(lái)提取字符串中的數(shù)字。
在總價(jià)單元格邊上增加兩列輔助列,用來(lái)提取單價(jià)和數(shù)量:
然后在G2單元格中輸入數(shù)組公式:
=VLOOKUP(9^9,MID(C2,MIN(IF(ISNUMBER(--MID(C2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2),按CTRL + SHIFT + ENTER結(jié)束輸入。
這是一個(gè)多層函數(shù)嵌套的數(shù)組公式,使用了VLOOKUP、MID、IF、MIN、ISNUMBER、ROW等函數(shù),下面從VLOOKUP的4個(gè)參數(shù)來(lái)分析一下這個(gè)公式的機(jī)理。
(1) 參數(shù)1:9^9,9^9 = 387420489,這是一個(gè)較大的數(shù)值,用來(lái)進(jìn)行查找、數(shù)值比較等,當(dāng)然也可以用其他比較大的數(shù)值來(lái)代替9^9。
(2) 參數(shù)2:MID(C2,MIN(IF(ISNUMBER(--MID(C2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},這個(gè)是查找區(qū)域。
其中使用了以下函數(shù):
MID()進(jìn)行文本提?。?/p>
MIN()表示最小值,從小到大排序;
ISNUMBWR()用來(lái)判斷值是否為數(shù)值;
ROW()返回行號(hào),$1:$99表示從第1行到第99行;
'- -'這代表恢復(fù)到正常格式,如果是日期,就變成日期格式,如果是數(shù)值,就變成數(shù)值格式。
參數(shù)2構(gòu)造了一個(gè)2列、99行的表格,用數(shù)組表示出來(lái)如下圖所示。
可以利用F9來(lái)逐個(gè)查看參數(shù)中的返回值,這樣更有利于理解函數(shù)原理。
(3) 參數(shù)3:2,即查找第2列
(4) 參數(shù)4:省略,參數(shù)4如果省略,默認(rèn)為模糊查找,返回一個(gè)最接近于9^9的值,其實(shí)也是就字符串中的數(shù)值(本例中的數(shù)值均小于9^9)。
將G2向下、向右進(jìn)行拖拉填充,提取相應(yīng)的數(shù)值,就可以方便計(jì)算出物品的總價(jià)了。
公式有點(diǎn)復(fù)雜,也可以收藏起來(lái)直接套用。
聯(lián)系客服