如何使用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)行文本提??; 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)直接套用。 |
|