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

分享

提取文本中的數(shù)字,前方高能——

 L羅樂 2017-02-08




本例通過提取單元格文本中唯一的正整數(shù)來介紹幾個文本函數(shù)的用法。注意:示例數(shù)據(jù)的解法很多,文章中給出的解法也不是在探討最優(yōu)解法。并且,本例旨在介紹函數(shù)用法,文本中數(shù)字為負數(shù)、不連續(xù)、帶小數(shù)點、有英文字母等情況,不在本文討論范圍之內(nèi)。


01


基本思路和使用函數(shù)說明


要提取上圖A2單元格文本中的數(shù)字,如果能確定第一個數(shù)字出現(xiàn)的位置,然后確定數(shù)字的個數(shù),就可以用MID函數(shù)提取出來了。


本例解決方案用到的函數(shù)及目的主要如下:


1)MID和MIDB函數(shù),從第一個數(shù)字出現(xiàn)位置起取數(shù)字個數(shù)那么多位,以達到把數(shù)字提取出來的目的;

2)SEARCHB函數(shù),可以使用通配符查到第一個數(shù)字出現(xiàn)的位置;

3)FIND函數(shù),可以查找到第一個數(shù)字出現(xiàn)的位置;

4)COUNT函數(shù),“數(shù)”出文本中數(shù)字的個數(shù);

5)MAX和MIN函數(shù),提取相關(guān)數(shù)字。


2


查找第一個數(shù)字出現(xiàn)的位置


第一種方法:SEARCHB函數(shù),函數(shù)基本用法如下(第三參數(shù)忽略):


=SEARCHB(待查找的文本,包含待查找文本的目標(biāo)文本)


SEARCHB函數(shù)用途是在第二參數(shù)中查找第一參數(shù)出現(xiàn)的位置,查找是按字節(jié)的,一個漢字占兩個字節(jié),普通數(shù)字和英文占一個字節(jié)。

并且,SEARCHB函數(shù)可以使用通配符,比如“?”就代替一個單字節(jié)字符。

如下圖,在B2輸入:

=SEARCHB('?',A2)

結(jié)果返回7,也就是第一個單字節(jié)字符(也就是第一個數(shù)字4)出現(xiàn)的位置是7,因為前面有“七連第”3個漢字,占6個字節(jié),所以“4”是第7個字節(jié)。



第二種方法:FIND函數(shù),函數(shù)基本用法如下(第三參數(shù)忽略):

=FIND(待查找的文本,包含待查找文本的目標(biāo)文本)

和SEARCHB函數(shù)類似,F(xiàn)IND函數(shù)查找第一參數(shù)在第二參數(shù)中出現(xiàn)的位置。例如:


=FIND('中','我是國人')=3,因為第一參數(shù)“中”在第二參數(shù)“我是中國人”里是第3個字符。


我們在B2輸入函數(shù)并按Ctrl Shift Enter運行:

=MIN(FIND(ROW(1:10)-1,A2&1/17))

結(jié)果返回4,也就是說A2文本中第一個數(shù)字出現(xiàn)的位置是4。

下面來簡單解釋一下函數(shù)的用法:

ROW(1:10)返回{1;2;3;4;5;6;7;8;9;10}這樣一個數(shù)組,由于我們要查找的是單個數(shù)字,所以需要再減去1,也就是:ROW(1:10)-1。ROW(1:10)-1返回{0;1;2;3;4;5;6;7;8;9},也即0~9的10個數(shù)字。


FIND(ROW(1:10)-1,A2),也就是FIND({0;1;2;3;4;5;6;7;8;9},A2)可以查找0~9在A2文本中分別出現(xiàn)的位置。

但是如果A2文本中沒有某個數(shù)字,比如說沒有7,F(xiàn)IND部分就會返回錯誤值。

為了避免這個問題,我們在A2文本后加上'0123456789',也就是A2&'0123456789',這樣,F(xiàn)IND函數(shù)不會返回錯誤值,因為即使A2文本中沒有某個數(shù)字,也能在A2&'0123456789'中查到。

上面的函數(shù)中實際輸入的是A2&1/17,為什么這樣呢,因為1/17=0.0588235294117647,這個小數(shù)中包含0~9的所有數(shù)字。

5^19也有相同作用。


FIND(ROW(1:10)-1,A2&1/17)返回:{9;21;15;16;4;5;24;23;13;6},也即0~9這10個數(shù)字分別在A2&1/17這個文本中出現(xiàn)的位置,我們?nèi)∽钚≈稻褪堑?個數(shù)字出現(xiàn)的位置即可,因此外層嵌套MIN函數(shù)。即:

=MIN(FIND(ROW(1:10)-1,A2&1/17))



3


判斷A2文本中數(shù)字的個數(shù)


第一種方法:COUNT函數(shù)。COUNT函數(shù)返回結(jié)果為其參數(shù)中的數(shù)字個數(shù)。

因此,我們輸入:

=COUNT(-MID(A2,ROW(1:99),1))


其中MID(A2,ROW(1:99),1)部分的意義是:

從A2文本中第1個,第2個……第99個字符開始,分別取1個字符,也就是將A2單元格按單個字符拆分,返回:

={'七';'連';'第';'4';'5';'9';'個';'兵';……;''}

我們加上一個減號,就將文本數(shù)字轉(zhuǎn)化成數(shù)值,文本轉(zhuǎn)化成錯誤值,

-MID(A2,ROW(1:99),1)返回:

{#VALUE!;#VALUE!;#VALUE!;-4;-5;-9;#VALUE!;……;#VALUE!}

然后用COUNT({#VALUE!;#VALUE!;#VALUE!;-4;-5;-9;#VALUE!;……;#VALUE!} )數(shù)出一共有3個數(shù)字,也就是A2文本中數(shù)字的個數(shù)。


第二種方法:LEN和LENB函數(shù)方法。

LEN和LENB函數(shù)都返回參數(shù)字符長度,但是LENB按單字節(jié)個數(shù)計,LEN不區(qū)分。

例如:

=LEN('中國1汽')=4

=LENB('中國1汽')=7

我們輸入下面公式獲得A2單元格文本中數(shù)字個數(shù):

=2*LEN(A2)-LENB(A2)


原理:假設(shè)A2文本中的數(shù)字都是雙字節(jié),那么2*LEN(A2)=LENB(A2),但是數(shù)字實際上是單字節(jié)的,那么2*LEN(A2)比LENB(A2)大幾就是有幾個單字節(jié)的字符(本例中就是數(shù)字)。


4


組合上述函數(shù),提取數(shù)字


根據(jù)最初的思路分析,將上面的數(shù)字出現(xiàn)位置和數(shù)字個數(shù)函數(shù)組合一下,就得到:

=MIDB(A2,SEARCHB('?',A2),2*LEN(A2)-LENB(A2))


=MID(A2,MIN(FIND(ROW(1:10)-1,A2&1/17)),2*LEN(A2)-LENB(A2))



=MID(A2,MIN(FIND(ROW(1:10)-1,A2&1/17)),COUNT(-MID(A2,ROW(1:99),1)))



=MIDB(A2,SEARCHB('?',A2),COUNT(-MID(A2,ROW(1:99),1)))



5


補充一個方法


單純就本例數(shù)據(jù)而言,輸入下面公式,然后按Ctrl Shift Enter也可以返回正確結(jié)果:


=MAX(IFERROR(--MID(A2,ROW(1:99),COLUMN(A:Z)),))



至于用法和原理,大家可以自己動手在表格中試驗一下。

關(guān)于SEARCH,SEARCHB,MID,MIDB,F(xiàn)IND和FINDB函數(shù)之間的區(qū)別和聯(lián)系,建議大家去Excelhome論壇中“知識樹”欄目下的文本函數(shù)中去查看詳細信息。

作者:ExcelHome論壇版主 shaowu459

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    高清在线精品一区二区| 欧美大粗爽一区二区三区| 成人精品网一区二区三区| 欧美一级日韩中文字幕| 日系韩系还是欧美久久| 国产一区二区三区不卡| 欧美日韩国产成人高潮| 日本精品视频一二三区| 极品熟女一区二区三区| 国产成人综合亚洲欧美日韩| 成人区人妻精品一区二区三区| 中国少妇精品偷拍视频| 麻豆看片麻豆免费视频| 一区二区三区日韩经典| 在线免费国产一区二区| 国产欧美日韩一级小黄片| 十八禁日本一区二区三区| 日韩精品视频免费观看| 亚洲欧美日韩另类第一页| 久热久热精品视频在线观看| 欧美日韩国产亚洲三级理论片| 中文字幕一区二区久久综合| 亚洲最新中文字幕一区| 大香蕉伊人精品在线观看| 极品少妇一区二区三区精品视频| 精品推荐久久久国产av| 午夜精品一区免费视频| 欧美日韩亚洲精品在线观看| 激情五月天免费在线观看| 日韩欧美国产精品自拍| 丰满人妻熟妇乱又乱精品古代| 国产一区一一一区麻豆| 沐浴偷拍一区二区视频| 欧美性猛交内射老熟妇| 国产一级内片内射免费看| 美女被后入视频在线观看| 日韩欧美好看的剧情片免费| 免费观看在线午夜视频| 亚洲欧美日产综合在线网| 国产户外勾引精品露出一区 | 好吊妞视频免费在线观看|