對于字符串的截取,在Excel日常使用中非常的頻繁,也非常的有用,因此,office在新版本更新中也增加了更為便捷的方式。 但是可能更多的人,對于字符串的截取還停留在left,right,mid三個函數的簡單應用,一旦碰到較為復雜的提取字符,則無從下手,本文就從淺入深了解一下三截取函數不一樣的用法。 字符串截取函數的最普通方式最普通的方式決定了只能解決最普通的問題。 其語法表示為: =left(要從左側開始截取的字符串或單元格引用,截取幾位) =right(要從右側開始截取的字符串或單元格引用,截取幾位) =mid(要從中間截取的字符串或單元格引用,從第幾位開始,截取幾位) 雖然語法簡單,也注意兩個問題: 第1、 三個函數中,從第幾位開始或截取幾位的參數必須是數字。 第2、 Right函數是從右側數幾位開始截取,并非倒著顯示出來。 看個實例: 為了方便舉例,我們姑且假定,活動地點中的前三位是地區,4-6位是城市,最后6位是具體地址。 那么我們分別在D,E,F列中插入函數left,mid,right即可完成。 使用起來非常簡單,但是它能夠解決的也是具有一定格式的提取,經典案例為:身份證中間八位代表出生日期等。 截取特定符號前的字符串在工作中,我們也會遇到要求提取特定符號前的字符串,比如:費用類別編號中'-'前面的編碼代表著費用類別,我們需要對其進行填充。 分析一下,從表中來看,左側開始截取是沒錯的。但是具體截取幾位是個問題,因為我們發現第一個值要截取3位,第二個要四位,它不一樣,該怎么辦呢?這時候我們需要借助FIND函數來判斷出特定符號'-'在第幾位,然后截取出前一位的數字。比如第一個:'-'在第4位那就從左側截取(4-1)位。思路理清楚剩下的就好辦了。 解釋一下,為了實現截取'-'之前的字符,整體來看左側截取D3中的內容是沒錯的,所以先用=left(D3,截取位數待定),因為截取位數不一樣,所以截取位數暫時不能確定,但是有一點是可以確定的,就是截取位數是-的前一位,那么只需要定位出-在第幾位即可。Find函數恰好可以實現。(FIND函數不熟練的同學可以關注我,看下一篇文章哦!)這里幾個問題需要注意: 第1、 遵循所有函數必須遵循的法則,函數書寫過程中所有的標點符號須是英文輸入狀態下輸入。 第2、 要截取的位數是特定符號所在位數減一。 第3、 Find函數中特定符號必須用引號。 截取特定符號后的字符串有時候我們也需要截取特定符號之后的字符,有些同學,經過剛才特定符號之前的演習之后,覺得,這有啥,特定之后就用right和find不就可以了,和截取之前一樣的。有時候我們想象的總是比實際的要美好一些。假定'-'之后的代表費用碼,需要填充。 我們一看表,就會突然發現,使用right和find像前文提到的left和find一樣操作,并不能完成,前面之所以能夠完成,是用find就可以查找到具體要截取幾位,現在則不行了。我們來分析一下,截取后面的right肯定是沒有問題的,問題還是在截取幾位上面。仍然以第一個結果為例,要截取出-后面的內容,不但要知道-在第幾位,還要知道總共有幾位,因為用總共的位數減去-的位數,就是我們要截取出來的東西。只要我們理清思路一切就盡在掌握了。說到總位數熟練的同學,肯定立刻就想到了LEN函數,就好辦了。如果沒有,點擊關注,后期將不斷更新。 如果看起來比較迷糊的同學,可以按照下面的拆分剖析法,分析函數,再復雜的函數也經不起拆分推敲,只要你肯,至少是可以看得懂的。 首先是right大函數,兩個參數,其中一個參數是d3,這沒的說。另一個參數是 LEN(D3)-FIND('-',D3)這是一個算數運算,被減數和減數分別是一個函數len(d3)和find('-',d3)經這么一來是不是就清楚了。 特定符號之間的截取,需要大家結合上面兩個實例仔細推敲,相信大家自己推敲出來的更有成就感的。當然截取函數還有一些其他更為復雜的形式,比如截取任意數字之前的,截取出所有數字等。點擊關注,后期會逐漸分享,大家一起交流。祝大家學習愉快,工作順利,新年快樂! |
|