一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從字母數(shù)字字符串中提取數(shù)字

 拿破侖之友 2010-11-06

問題

如何提取字母數(shù)字字符串的數(shù)字部分。例如:如果單元格 A1 包含的是字符串“abc123”,則將值 123 返回單元格 B1 中。

解決方案

此解決方案的基本原理是搜索并返回字母數(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)诖耸褂?MID 函數(shù)。MID 可以根據(jù)所指定的字符的數(shù)量,從所指定的位置開始,從文本字符串中返回特定數(shù)量的字符。此函數(shù)的語法是:

MID(text,start_num,num_chars)

  • Text    文本字符串包含的是要提取的字符。
  • Start_num    要從文本中提取的第一個(gè)字符串的位置。文本中第一個(gè)字符占據(jù) start_num 1,以此類推。
  • Num_chars    指定要 MID 從文本中返回的字符數(shù)量。
對(duì)于我們的示例,公式為:
=MID(A1,ROW($1:$9),1)

此公式可以分解字母數(shù)字字符串,并且實(shí)際上會(huì)將字符置于工作表的不同行內(nèi)。例如,對(duì)于字母數(shù)字字符串 abc123,其所有 6 個(gè)字符都將被分開。

 注釋   可將數(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é)果將為 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 中。
字符串轉(zhuǎn)換示例

將此公式輸入單元格 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è)公式。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲中文字幕剧情在线播放| 人妻内射在线二区一区| 粉嫩国产美女国产av| 久草视频这里只是精品| 久久国产精品亚州精品毛片| 欧美成人免费夜夜黄啪啪| 91香蕉视频精品在线看| 午夜福利直播在线视频| 日本不卡一区视频欧美| 91亚洲国产成人久久精品麻豆| 日本午夜免费观看视频| 国产肥妇一区二区熟女精品| 东京热男人的天堂久久综合| 色哟哟哟在线观看视频| 久久国产成人精品国产成人亚洲| 国产欧美日产久久婷婷| 粗暴蹂躏中文一区二区三区| 欧美中文字幕日韩精品| 东京不热免费观看日本| 欧美美女视频在线免费看| 国产又猛又黄又粗又爽无遮挡| 国产不卡的视频在线观看| 午夜福利网午夜福利网| 91亚洲精品国产一区| 国产一二三区不卡视频| 国产一级二级三级观看| 人妻乱近亲奸中文字幕| 国产一区二区熟女精品免费| 亚洲欧美日韩国产综合在线| 最新国产欧美精品91| 日本av一区二区不卡| 91久久精品国产成人| 日韩无套内射免费精品| 老司机精品国产在线视频| 免费久久一级欧美特大黄孕妇| 亚洲国产成人精品一区刚刚| 樱井知香黑人一区二区| 大香蕉精品视频一区二区| 久久re6热在线视频| 久久国产青偷人人妻潘金莲| 精品少妇人妻一区二区三区|