單元格中的數(shù)據(jù)包含文本和數(shù)字(如),如何使用公式提取出該單元格中的數(shù)字?

先不看答案,自已動(dòng)手試一試。
公式思路
先找到字符串文本中第1個(gè)數(shù)字出現(xiàn)的位置,然后取出從該位置起的全部數(shù)據(jù)。
公式
數(shù)組公式如下:
=1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0),255)
公式解析
首先,公式:
MID(A1,ROW(1:10),1)
將單元格A1中的數(shù)據(jù)轉(zhuǎn)換成一個(gè)數(shù)組:{“E”;”x”;”c”;”e”;”l”;”2”;”0”;”1”;”7”;””}。
我們假設(shè)單元格A1中的數(shù)據(jù)長度不會(huì)超過10個(gè)。
然后,將數(shù)組乘以1,即公式:
1*MID(A1,ROW(1:10),1)
得到數(shù)組{#VALUE!; #VALUE!; #VALUE!; #VALUE!; #VALUE!;2;0;1;7; #VALUE!}。
接下來,使用IFERROR函數(shù),若數(shù)組中是錯(cuò)誤值則轉(zhuǎn)換成TRUE,否則為FALSE,即公式:
ISERROR(1*MID(A1,ROW(1:10),1))
得到數(shù)組{TRUE; TRUE; TRUE; TRUE; TRUE;FALSE; FALSE; FALSE; FALSE;TRUE}。
使用MATCH函數(shù),查找數(shù)組中第一個(gè)FALSE出現(xiàn)的位置,即
MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0)
得到值6,即字符串中的第6個(gè)字符開始出現(xiàn)數(shù)字。此時(shí)的公式為
=1*MID(“Excel2017”,6,256)
即從字符串“Excel2017”的第6位開始提取256個(gè)字符數(shù)據(jù),從而取出字符“2017”,然后將其乘以1,轉(zhuǎn)換成數(shù)字。
小結(jié)
使用MID函數(shù),可以實(shí)現(xiàn)數(shù)據(jù)分離。
數(shù)字與文本相乘將產(chǎn)生錯(cuò)誤值。
MATCH函數(shù)精確查找指定值第1次出現(xiàn)的位置。
數(shù)字與數(shù)字形式的文本相乘,將其轉(zhuǎn)換為數(shù)字。
下期預(yù)告
Excel公式練習(xí)18:獲取每行中第一個(gè)非空單元格
如何使用公式獲取每行中第一個(gè)非空單元格?例如下圖所示工作表,要求使用公式根據(jù)上半部分的表格求各項(xiàng)目的開工日期。

也就是說,要求出單元格區(qū)域B2:G6的每行中第一個(gè)非空單元格對應(yīng)的B1:G1中的日期。






