tft每日頭條

 > 科技

 > excel提取第二個括号中的字符串

excel提取第二個括号中的字符串

科技 更新时间:2024-07-19 02:17:10

▶▶▶點擊右上角關注,獲取更多EXCEL技巧◀◀◀

我們在工作中,有沒有遇到過需要在一串有中文和數字組成的字符串,比如:曹操 13971403001,135711021131 馬超。碰到從這種由姓名和電話号碼組成的字符串中提取姓名或者提取電話号碼,該怎麼辦呢?

excel提取第二個括号中的字符串(Excel文本函數小技巧)1

像上圖這樣的情況還好說,我們可以直接使用Excel的自帶功能“自動填充”搞定。

excel提取第二個括号中的字符串(Excel文本函數小技巧)2

就像上圖演示的這樣,直接在旁邊的單元格輸入一個“示例”回車,再使用Ctrl E的組合鍵就可以完成“快速填充”。這種情況當然是最理想的,那如果遇到的是下圖這樣的情況呢:

excel提取第二個括号中的字符串(Excel文本函數小技巧)3

毫無規律吧,有的中間有空格,有的沒有,有的名字在前面,有的名字在後面,這種情況使用“快速填充”就不好使了。

excel提取第二個括号中的字符串(Excel文本函數小技巧)4

上圖就是使用“快速填充”後的結果,那遇到這樣的情況該怎麼辦呢?

這就需要函數來幫忙了。這裡我們會用到的函數有:IF、ISNUMBER、LEN、LENB、LEFT、RIGHT、TRIM、INT

  • IF函數:強大的判斷函數
  • ISNUMBER:判斷是否數值是否為數字
  • INT:把能轉換成數字的字符轉換成數字格式
  • LEN:計算字符串中字符的個數
  • LENB:計算字符串的長度(用這個函數裡每個漢字都占兩個位置)
  • LEFT:從字符串的左邊開始提取字符
  • RIGHT:從字符串的右邊開始提取字符
  • TRIM:去除字符串前後的空格

LEFT函數RIGHT函數我在我的上一篇文章裡已經講過了,這裡就不再重複了。想看的朋友可以點這個鍊接:文本截取函數

因為上圖中,名字的位置不固定有時在前有時在後,所有需要使用IF函數配合ISNUMBER函數進行判斷具體需要使用LEFT函數還是RIGHT函數來截取字符。

excel提取第二個括号中的字符串(Excel文本函數小技巧)5

在上圖中,公式“=ISNUMBER(INT(LEFT(E5,1)))”中,LERT函數負責提取E5單元格的第一個字符,然後用INT函數轉換成數字(如果能轉換成數字就轉換成數字,不能則返回錯誤值),最後ISNUMBER函數判斷是數字就返回TRUE,不是數字則返回FALSE.

如果ISNUMBER函數的返回值時TRUE時,在這裡說明第一個字符是數字,名字在字符串的後面,我們就需要使用LEFT函數從字符串的最左邊開始截取字符。如果返回的值未FALSE則使用RIGHT函數從最右邊開始截取字符。

好啦,現在我們知道了該使用什麼函數來截取字符,但是還不知道截取多長的字符(因為這裡的号碼都是手機号碼,所以都是11位的,但是如果裡面有座機号碼就需要判斷具體要截取多少個字符了),這就需要用到計算字符長度的函數LEN和LENB了。

excel提取第二個括号中的字符串(Excel文本函數小技巧)6

在上圖中,我們可以看到LENB函數提取的字符長度和LEN函數提取的字符串長度是不一樣的,因為在計算機中,漢字都是占兩個字節的,所在這裡每個漢字都算兩個字符,所以這裡用“LENB(F2)-LEN(F2)”後得出的結果就剛好是漢字的個數。

這時我們就可以通過計算得出需要截取的字符串的長度了。

excel提取第二個括号中的字符串(Excel文本函數小技巧)7

如上圖中,我們可以用公式“=LEN(D2)”計算總的字符個數,然後減去公式“=LENB(D2)-LEN(D2)”計算出的漢字的個數,就得到了除漢字外的字符的格式(包含空格)。然後用RIGHT函數截取這一段字符串。

好啦,現在我們就可以把前面所有的知識點結合起來進行計算了。

excel提取第二個括号中的字符串(Excel文本函數小技巧)8

上圖中,我用多個函數進行嵌套使用組合成了下面的公式:“=TRIM(IF(ISNUMBER(INT(LEFT(D2,1))),LEFT(D2,LEN(D2)-(LENB(D2)-LEN(D2))),RIGHT(D2,LEN(D2)-(LENB(D2)-LEN(D2)))))”

好啦,今天就說到這裡了,有什麼疑問可以留言給我。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved