24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶(hù)掃碼下載
立享專(zhuān)屬優(yōu)惠

安卓版本:8.7.20 蘋(píng)果版本:8.7.20

開(kāi)發(fā)者:北京正保會(huì)計(jì)科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點(diǎn)擊下載>

如何用Excel從字母數(shù)字字符串中提取數(shù)字

來(lái)源: 互聯(lián)網(wǎng) 編輯: 2011/02/25 09:32:46  字體:

  此解決方案的基本原理是搜索并返回字母數(shù)字字符串中的第一個(gè)數(shù)字,然后只返回其后的數(shù)字。

  算法

  此解決方案包括創(chuàng)建公式以完成下列任務(wù):

  1.將字母數(shù)字字符串分解為單獨(dú)的字符。

  2.確定分解后的字符串中是否有數(shù)字。

  3.確定數(shù)字在字母數(shù)字字符串中的位置。

  4.計(jì)算字母數(shù)字字符串中數(shù)字的數(shù)量。

  我們將分別考慮這些任務(wù),然后將各公式整合在一起以得到最終結(jié)果。

  將字母數(shù)字字符串分解為單獨(dú)的字符。請(qǐng)?jiān)诖耸褂肕ID函數(shù)。MID可以根據(jù)所指定的字符的數(shù)量,從所指定的位置開(kāi)始,從文本字符串中返回特定數(shù)量的字符。

  此函數(shù)的語(yǔ)法是:

  MID(text,start_num,num_chars)

  Text 文本字符串包含的是要提取的字符。

  Start_num 要從文本中提取的第一個(gè)字符串的位置。文本中第一個(gè)字符占據(jù) start_num 1,以此類(lèi)推。

  Num_chars 指定要MID從文本中返回的字符數(shù)量。

  對(duì)于我們的示例,公式為:=MID(A1,ROW($1:$9),1) 此公式可以分解字母數(shù)字字符串,并且實(shí)際上會(huì)將字符置于工作表的不同行內(nèi)。例如,對(duì)于字母數(shù)字字符串a(chǎn)bc123,其所有6個(gè)字符都將被分開(kāi)。

  注釋

  可將數(shù)值9適當(dāng)增大為任何更大的數(shù)值,以適應(yīng)更長(zhǎng)的字符串。在此示例中,最大字符串長(zhǎng)度為9。 值得一提的是,字符串分解之后,“1”、“2”和“3”將被看作文本而不是數(shù)字。要將存儲(chǔ)為文本的數(shù)字轉(zhuǎn)換成數(shù)字,請(qǐng)用1乘以此公式,例如:=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é)果將為T(mén)RUE,否則結(jié)果將為FALSE。

  確定數(shù)字在字母數(shù)字字符串中的位置。

  現(xiàn)在我們將通過(guò)在上一段中提到的分解后的字符串的結(jié)果中查找TRUE值來(lái)確定數(shù)字的位置。

  在此我們將使用MATCH函數(shù)。經(jīng)過(guò)修改的公式現(xiàn)在變?yōu)椋?MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0)

  要點(diǎn)

  必須通過(guò)按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ù)字之后要返回的字符。

  如上所述,可通過(guò)用1與其相乘,將字母數(shù)字字符串中存儲(chǔ)為文本的數(shù)字轉(zhuǎn)換成數(shù)字。例如,=1*MID(A1,ROW($1:$9),1)

  將存儲(chǔ)為文本的數(shù)字轉(zhuǎn)換成數(shù)字之后,可以通過(guò)使用COUN 函數(shù)對(duì)其進(jìn)行計(jì)數(shù)??赏ㄟ^(guò)輸入以下公式計(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ì)上說(shuō),此問(wèn)題可陳述為:確定第一個(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)

  必須通過(guò)按 Ctrl+Shift+Enter 將這些公式作為數(shù)組進(jìn)行輸入。

  在此值得一提的是,如果字符串是yur09875reew,而且您使用的是已乘1的公式,則列B中的結(jié)果將是9875而不是09875。因?yàn)?0*1=0,所以0被忽略了,返回的結(jié)果是9875。如果想得到結(jié)果09875,則不要用1乘以整個(gè)公式。

我要糾錯(cuò)】 責(zé)任編輯:cheery
回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - galtzs.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)