=1*MID(A1,ROW($1:$9),1)
確定分解后的字符串中是否有數(shù)字
在此我們將使用 ISNUMBER 函數(shù),此函數(shù)可以確定字母數(shù)字字符串中是否有數(shù)字。公式現(xiàn)在變成了:
=ISNUMBER(1*MID(A1,ROW($1:$9),1))
如果字符串中有數(shù)字,則結(jié)果將為 TRUE,否則結(jié)果將為 FALSE。
確定數(shù)字在字母數(shù)字字符串中的位置
現(xiàn)在我們將通過在上一段中提到的分解后的字符串的結(jié)果中查找 TRUE 值來確定數(shù)字的位置。在此我們將使用 MATCH 函數(shù)。經(jīng)過修改的公式現(xiàn)在變?yōu)椋?/p>
=MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0)
要點(diǎn) 必須通過按 Ctrl+Shift+Enter 將此公式作為數(shù)組進(jìn)行輸入。
如果字符串是 abc123
,則此公式產(chǎn)生的結(jié)果將是 4,這就是字母數(shù)字字符串中第一個(gè)數(shù)字字符的位置。
計(jì)算字母數(shù)字字符串中數(shù)字的數(shù)量
現(xiàn)在的任務(wù)是計(jì)算字符串中數(shù)字的數(shù)量,以確定返回字母數(shù)字字符串中第一個(gè)數(shù)字之后要返回的字符。
如上所述,可通過用 1 與其相乘,將字母數(shù)字字符串中存儲(chǔ)為文本的數(shù)字轉(zhuǎn)換成數(shù)字。例如, =1*MID(A1,ROW($1:$9),1)
將存儲(chǔ)為文本的數(shù)字轉(zhuǎn)換成數(shù)字之后,可以通過使用 COUNT 函數(shù)對(duì)其進(jìn)行計(jì)數(shù)??赏ㄟ^輸入以下公式計(jì)算數(shù)字的數(shù)量:
=COUNT(1*MID(A1,ROW($1:$9),1))
整合各公式
現(xiàn)在我們將使用 MID 函數(shù)把此公式的各部分整合在一起,如以下示例所示。
=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))
從本質(zhì)上說,此問題可陳述為:確定第一個(gè)數(shù)字在字母數(shù)字字符串(在單元格 A1 中)中的位置。返回此數(shù)字及其后的數(shù)字。
要將得到的字符轉(zhuǎn)換成數(shù)字,請(qǐng)用 1 乘此公式。雖然對(duì)此并不嚴(yán)格要求,但如果要對(duì)結(jié)果執(zhí)行數(shù)學(xué)運(yùn)算,則應(yīng)該如此操作。下面是要輸入單元格 B1 中的最終公式:
=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))
要點(diǎn) 必須通過按 Ctrl+Shift+Enter 將這些公式作為數(shù)組進(jìn)行輸入。
更多示例
要進(jìn)一步測(cè)試此公式,請(qǐng)將下圖中的數(shù)據(jù)輸入空工作表中的單元格 A1:A7 中。
將此公式輸入單元格 B1 中,然后使用自動(dòng)填充將此公式復(fù)制到單元格 B2:B7 中。(不要忘記按 Ctrl+Shift+Enter。)
在此值得一提的是,如果字符串是 yur09875reew
,而且您使用的是已乘 1 的公式,則列 B 中的結(jié)果將是 9875 而不是 09875。因?yàn)?0*1=0,所以 0 被忽略了,返回的結(jié)果是 9875。如果想得到結(jié)果 09875,則不要用 1 乘以整個(gè)公式。