|
今天的練習(xí)是:如下圖1所示的數(shù)據(jù),每個(gè)單元格中包含由換行符分隔的3個(gè)數(shù)字,現(xiàn)在需要提取其中10位長(zhǎng)的數(shù)字,如圖1中的B列所示。 圖1 先不看下面的答案,自已試試。 解決方案 公式1 可以試試下面的公式: =LOOKUP(9E+307,--MID(A2,ROW(INDIRECT('1:'& LEN(A2)-9)),10)) 該公式使用MID函數(shù)從單元格中的第1個(gè)數(shù)字開始依次取10位數(shù),共14個(gè)數(shù)字,這14個(gè)數(shù)字中,由于有空格的存在,所以除單元格中的10位數(shù)外,其余都是9位數(shù)。然后使用LOOKUP函數(shù)在這些數(shù)字中進(jìn)行查找,返回最大的一個(gè)數(shù)字,即單元格中的10位數(shù)。 公式2 試試下面的公式: =MID(A2,SEARCH(CHAR(10)&REPT('?',10)&CHAR(10),CHAR(10)&A2&CHAR(10)),10) 在單元格中搜索前后都是空格且中間是10位數(shù)的數(shù)字。 公式3 試試下面的公式: =IF(LEN(LEFT(A2,SEARCH(CHAR(10),A2,1)-1))=10,LEFT(A2,SEARCH(CHAR(10),A2,1)-1),IF(LEN(MID(A2,SEARCH(CHAR(10),A2,1)-1+2,FIND(CHAR(10),A2,FIND(CHAR(10),A2)+1)-(SEARCH(CHAR(10),A2,1)-1+2)))=10,MID(A2,SEARCH(CHAR(10),A2,1)-1+2,FIND(CHAR(10),A2,FIND(CHAR(10),A2)+1)-(SEARCH(CHAR(10),A2,1)-1+2)),IF(LEN(RIGHT(A2,LEN(A2)-FIND(CHAR(10),A2,FIND(CHAR(10),A2)+1)))=10,RIGHT(A2,LEN(A2)-FIND(CHAR(10),A2,FIND(CHAR(10),A2)+1))))) 這個(gè)公式很長(zhǎng),其實(shí)就是從頭開始依次查找由空格分隔開的數(shù)字,如果其長(zhǎng)度是10,則找到該數(shù)字。 提示:可以使用“公式求值”功能,詳細(xì)查看上述公式是怎么運(yùn)行的。 |
|
|
來(lái)自: hercules028 > 《excel》