王志軍


很多時候,我們需要從混合字符串提取所需要的數據,例如圖1所示的表格,A列的混合字符串包含了相應的手機號碼,現在要求將這些手機號碼提取到B列。由于實際的數據量很大,手工提取既麻煩而且也容易出錯,該如何操作呢?
由于是2016版本,因此首先想到的是快速填充,但快速填充之后看到的卻是提取結果,這其中存在這樣或那樣的錯誤,如果數據不是太多的話,手工修改即可,但數據量比較大時,手工修改就不太現實了。
我們可以利用公式完成提取任務,選擇B2單元格,在編輯欄輸入公式“=-LOOKUP(,一MID(A2&”a”,ROW($1:$50),11))”,這里的LOOKUP函數是提取最后一個符合條件的結果,“MID(A2,ROW($1:$50),11)”表示從A2單元格的第1-50位的位置分別提取11個字符,之所以提取11個字符是因為手機號碼為11位,“A2&”a””是為了防止數值存在單元格尾部時造成公式計算的錯誤。“MID(A2&”a”,ROW($1:$50),11)”部分的計算結果有兩種,一種為錯誤值,一種是小于等于零的值。LOOKUP函數找到最后的數值之后,“一”表示再進行一次減法運算,將計算結果轉換為正值。
公式執行之后向下拖拽或雙擊填充柄,很快就可以看到圖3所示的提取結果。