Excel公式練習17:提取字元串中的數字

本次的練習是:單元格中的數據包含文本和數字(如圖1),如何使用公式提取出該單元格中的數字?

圖1

先不看答案,自已動手試一試。


公式思路

先找到字元串文本中第1個數字出現的位置,然後取出從該位置起的全部數據。

公式

數組公式如下:

=1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0),255)

公式解析

首先,公式:

MID(A1,ROW(1:10),1)

將單元格A1中的數據轉換成一個數組:{「E」;」x」;」c」;」e」;」l」;」2」;」0」;」1」;」7」;」」}。

我們假設單元格A1中的數據長度不會超過10個。

然後,將數組乘以1,即公式:

1*MID(A1,ROW(1:10),1)

得到數組{#VALUE!; #VALUE!; #VALUE!; #VALUE!; #VALUE!;2;0;1;7; #VALUE!}。

接下來,使用IFERROR函數,若數組中是錯誤值則轉換成TRUE,否則為FALSE,即公式:

ISERROR(1*MID(A1,ROW(1:10),1))

得到數組{TRUE; TRUE; TRUE; TRUE; TRUE;FALSE; FALSE; FALSE; FALSE;TRUE}。

使用MATCH函數,查找數組中第一個FALSE出現的位置,即

MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0)

得到值6,即字元串中的第6個字元開始出現數字。此時的公式為=1*MID(「Excel2017」,6,256)

即從字元串「Excel2017」的第6位開始提取256個字元數據,從而取出字元「2017」,然後將其乘以1,轉換成數字。

小結

  • 使用MID函數,可以實現數據分離。

  • 數字與文本相乘將產生錯誤值。

  • MATCH函數精確查找指定值第1次出現的位置。

  • 數字與數字形式的文本相乘,將其轉換為數字。


  • 下期預告

    Excel公式練習18:獲取每行中第一個非空單元格

    如何使用公式獲取每行中第一個非空單元格?例如下圖所示工作表,要求使用公式根據上半部分的表格求各項目的開工日期。

    也就是說,要求出單元格區域B2:G6的每行中第一個非空單元格對應的B1:G1中的日期。


    本文屬原創文章,轉載請聯繫我(xhdsxfjy@163.com)或者註明出處。

    歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。


    推薦閱讀:

    選股公式集1
    如 π 與 e 這樣的數學常數應該斜體嗎?
    適合東方人的體重計算公式,你真超重了么?
    【技】凱利公式教您如何控制倉位
    【轉】 Excel製表技巧(51)公式及函數的高級應用

    TAG:練習 | 公式 | 數字 | Excel公式 | 字元串 | Excel | 字元 |