16個Excel文本函數,這篇文章教你全弄清楚!

利用Excel函數解決文本處理問題,是最常見不過的任務啦~

比如下面這些,你有沒有遇到過?

合併兩個單元格的內容?

把省市區分拆?

提取身份證號碼中的出生日期?

批量替換數據的單位?

在我眼裡,每個文本函數都是一個詩人……接下來就帶你領略,各種文本函數的風騷之處。

一共分為六個部分,文本合併、文字提取、字元清洗、文字替換、精確查找、長度計算。

總有你要用上的!

文本合併

合併和提取是文本處理中最最常見的任務。

例如,將下表中各個單元格的文字合成1個新的句子:

而利用不同的函數公式,操作方法和結果都有所不同。

&連字元&能夠直接將一個一個的文本連接起來,形成一個新的文本:

公式:=A1&B1&C1

結果:愛老虎油

然而,&連字元先天殘疾,有很多個字元時,也不能直接引用整片區域進行合併,依然只能一個個手工添加。操作過程如下:

Phonetic 函數用Phonetic就省事很多,它可以引用一個區域(只能一個),將區域內所有單元格的文本型數據拼合在一起。例如將下表中的全部文本拼合起來:

可以使用如下公式

公式:=phonetic(A1:D1)

結果:愛老虎油

但是明明D1里有一個數字1314,為什麼沒出現在結果里呢?

因為,phonetic只是個兼職合併函數而已。它本職工作是提取日文拼音,是日文版來客串一下的,人家只是恰好可以合併文字而已。這個客串函數個性非常獨特,因為它眼裡只有文本型數據,對公式結果、數值、日期時間等等通通視而不見。所以1314就是被狗吃掉了……

此公式的輸入就比&連字元簡單多了:

Concat 函數

而Concat就比&和phonetic更加完美,因為它既能引用一個區域直接合併,又不會漏掉數值、日期和公式結果,還能引用多個區域,簡直不能更完美了。

公式:=concat(A1:D1)

結果:愛老虎油1314

不過,很遺憾,完美版本的Concat只有2016版才有。

在之前的版本中,它有個前身,叫 Concatenate。Concatenate和&公式一個德性,只能逐個添加。名稱又太長,還不如用&來得方便。估計是Office工程師自己都忍不了了,才在2016版添加了一個加強版吧。這個加強版可棒了:

以上三種合併函數,分別合成的結果放在一起,結果就是醬紫的:

一個宅男表哥用公式向喜歡的妹子發出三行愛的告白。

結果,這個妹子是個表妹,迅速用下面這個函數做出了回應……

Textjoin 函數

用分隔符將多個字元串聯起來。

公式:textjoin(「!」,True,A1:D1)&」!」

結果:你!是!個!好人!

於是,此公式的含義為,將A1:D1中每個單元格的內容用嘆號串聯起來,如果有空格則忽略,最後缺少的嘆號用&單獨補一個。

因為有函數輔助輸入工具條,寫這個公式也不難:

有一個神奇的函數,可以按照指定的次數,將自己反覆拼合起來,俗稱自擼。啊,不,是重複。

Rept 函數

它的語法是Rept(字元串,重複次數)。好想讓妹子用Rept再來一次暴擊:

公式:rept(A1,3)

結果:你是個好人!你是個好人!你是個好人!

公式含義再明顯不過了。

好喜歡Rept函數輸入後按下Enter鍵的感覺:

文字提取

提取型文本函數,就是從1個文本中挑出一部分。常用的提取函數就有Left、Right、Mid(middle的簡寫)三種。

Left 函數

從左邊開始算起,提取若干字元。例如從下面詩句提取左邊的7個字元:

公式:=Left(A1,7)

結果:一江春水向東流

Right 函數而提取右邊的7個字元,就要用函數Right:

公式:=Right(A1,7)

結果:我也沒有女盆友

Left 和 Right 函數語法結構相同:函數名(字元串,提取數量)。只是一左一右,提取的方向不一樣。

但是第三個函數Mid就厲害得多,它能夠從中間指定的位置開始提取。

Mid 函數基本語法是 Mid(字元串,起始位置,提取數量)

例如,從下面詩句中提取清淚兩字,就可以從第11個字元開始提取2個字元(逗號也算一個)。

公式:=Mid(A3,11,2)&Right(A3,1)

結果:清淚流

注意到了嘛,上面的公式還用到了連字元&,將兩個公式計算的結果拼在一起,得到了最終結果。

字元清洗

從網頁上或神隊友那弄來的數據,可能會有莫名其妙的空格和換行符。這些字元雖然看不見,但卻會導致公式計算結果出錯。所以通常會用Clean或Trim兩個函數進行清洗。

他們語法也一樣,都是 函數名(字元串)。但功能上卻有細微的差別:

Clean 函數

字面意思是清潔,它只清除換行符等看不見的非列印字元,卻無法去除空格。

Trim函數

字面意思是修剪,它會裁頭去尾,將前後的空格以及文本內部多餘的空格全部清除,但是按英文使用習慣,英文中間會自動保留一個空格字元作間隔。

例如,A1單元格中的字元串有很多多餘的空格及2個換行符。

分別用Clean和Trim函數處理的結果如下:

文字替換

Replace和Substitue這哥倆的能力是」置換「。功能類似,但是定位的方法不同。

Substitute 函數

Substitute是以字元定位字元。

例如,找出詩句中的「船」字,然後替換成「床」,公式和結果如下:

公式:=Substitute(A1,」船」,」床」)

結果:百年修得同床度,霉霉三月又分手

Replace 函數

而Replace則是以位置定位字元。

例如,從第13個字元開始提取1個字元「漢「,然後把」漢「替換成新的字元「妹「,公式和結果如下:

公式:=Replace(A1,13,1,」妹」)

結果:此情可待成追憶,我要做撩妹高手

感覺自己是在冒著跪榴槤的風險在寫這篇推送……

替換函數還有一項獨門秘技:把替換為的字元寫成空值(「」),替換就變成了刪除。看哪個字元不順眼,一言不合就可以讓它消失。

精確查找

Find和Search,都能掘地三尺,精準定位某個字元在文本中的具體位置。

Find 函數

公式:=Find("King",A1)

結果:2

計算結果說明King在整句中是從第2個字元開始出現的。

Search 函數

公式:=Search("洪荒",A1)

結果:6

結果表明,「洪荒」在整句中是從第6個字元開始的。

雖然 Find 和 Search 都是返回某個字元在字元串中的位置信息,結果都是一個數值。但還是有細微差別,Search 可以用通配符模糊查找。例如,「K?ng」就能把 King、Kong、Kang 都找出來,而Find卻做不到。

但是,計算返回結果是一個位置數值,有用嗎?

接著往下看,你就知道可以怎麼用!

她是怎麼知道的?

長度計算

Excel中有兩把度量文本長度的尺子:Len 函數 和 LenB 函數

Len 函數

不管中文還是英文、數字,Len都將每個字元算作1。

公式:=Len(A1)

結果:15

兩句七律加一個符號,總共15個字元。

LenB 函數

LenB後面多出來的那個B是Byte(位元組) 的意思,是按位元組來算。1個漢字及中文標點都是雙位元組,長度都是2。但英文字母和數字通常都是1個位元組,長度只有1。

於是,同樣是14個漢字和一個標點的詩句,用LenB的計算結果不一樣。

公式:=LenB(A1)

結果:30

LenB 和 Len之間的差異,

常常用來處理中英文混合的情況,比如

公式:=LenB(「King是好人」)-Len(「King是好人」)

結果:3

由於漢字LenB計算出來的長度是Len的兩倍,但英文字母長度相等,兩個公式之差,就是漢字的個數。以上結果正說明字元串中有3個漢字。如果再配合Right函數,就可以把中文單獨提取出來。

Text 格式轉換函數

text函數能夠讓單元格數值按照指定的格式顯示出來,例如固定顯示成4位數,不足就補0的處理方法如下:

公式:=TEXT(A1,"0000")

結果:0069


以上就是常用的文本函數用法,然而很多人可能會有這樣的疑問。

「合併和提取用在哪很好理解,可是查找一個字元並返回位置信息,到底有什麼用?」

有些函數計算結果自身並沒有多大意義,卻能夠輔助完成其他任務。比如Len先求出長度後,就可以按照長度來排個名次……

更厲害的是,計算結果還可以作為其他函數的參數啊。比如要把下圖中每一個數字提取出來變成 QiuYeXXXX的格式,只用一個函數,是辦不到的。

但是多個函數組合起來使用,上萬行的數據也能雙擊搞定,只需要花幾秒鐘時間寫一個公式就夠了:

圖中演示的公式就綜合運用了4種文本函數,逐步求值的結果如下圖:

文本函數遠不止這些,但常用的就是下面這16個啦!其他函數,需要用時再找吧~

我真的不會去背這些函數,但是會根據他們能解決的問題進行觀察和梳理,留意他們的特點。然後在看到其他案例時,自己再去了解一番同時加深理解。

函數看起來枯燥乏味,但只要摸清脈絡,就會變得很好玩。

想當初愛上Excel,也就是純粹覺得好玩。而文本函數中最喜歡的,就是Rept了。

因為

它可以完美表達心情:

Rept(「你是個好人!」,6)

Rept("??",9)


作者丨King

編輯丨阿機


推薦閱讀:

office excel最常用函數公式技巧搜集大全(13.12.09更新)17
isnumber函數實例應用
excel用TRANSPOSE函數實現行列轉置
【Excel函數說說之7】COUNT/COUNTA/COUNTBLANK函數語法結構和示例
excel查詢與引用函數:ADDRESS、COLUMN、ROW

TAG:文章 | 函數 | Excel | 文本 | 這篇文章 | 這篇 |