提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

今天繼續和大家分享這套函數(確實不知道該用哪個量詞了,就覺得這個還算貼切點),主要是涉及文本的計數、截取、查找、替換等處理的。相信很多朋友都已經猜到了,那麼再讓這些函數來亮個相:

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

一套16個函數

注意:由於內容較多,此文要分為幾個部分講解,今天講解第三部分,也是最後一部分。如果你們要看前兩部分的內容,點擊下面的鏈接:


字符串查找定位(字符串的狙擊鏡)

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

字符串查找定位函數

從上圖可以看出,這四個函數的作用、參數幾乎一樣。那麼該怎麼區別呢?在實際使用中,該怎麼選擇呢?我們以上圖的函數示例,可以分析出以下幾點:

1、SEARCH函數,不區分大小寫字母。查找大寫字母【O】得到的結果是9,而第9位是小寫字母【o】;

2、FIND函數,要區分大小寫字母。查找大寫字母【O】,其結果為15,正好是大寫字母【O】的位置;

3、這4個函數都可以省略第三個參數,即不設置查找的起始位置,則默認按從第1位開始查找;

4、這4個函數都可以查找空白文本,查找空白文本,結果都是1;

5、SEARCH函數支持通配符查找,FIND函數

不支持通配符查找。查找中的通配符有2個:①【?】表示任意單個字符;【*】:表示任意多個字符(字符串);

6、關於通配符【?】:用於SEARCHB函數時,表示第一個單字節字符;若用於SEARCH函數,則表示第一個字符。效果如下圖。

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

通配符在SEARCH、SEARCHB函數中的應用

①例1:查找第一個字符,結果為1;

②例2:查找【?o】,結果為4。此處的【?】代表【r】,組合查找時,返回組合中第1個字符的內容,即【r】在字符串中的位置,結果為4;

③例3:查找【?of】,結果為6。此處的【?】代表【S】,組合查找時,返回組合中第1個字符的內容,即【S】在字符串中的位置,結果為6;

④例4:按字節計算第一個單字節字符在字符串中的位置,結果為5。

接下來,我們看函數的實際應用。

一、提取漢字、字母

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

提取漢字和字母

前面一章,我們用過這個例子,當時用的LEN和LEB函數組合,計算出漢字和字母的個數。今天我們用SEARCHB函數結合通配符查找的方式,通過定位字母開始的位置(即文字結束的位置),來計算漢字和字母的數量,然後同字符串剪刀把需要的內容截取出來。

二、模糊查找

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

模糊查找

如上圖所示,用FIND、FINDB、SEARCH、SEARCHB函數,查找關鍵字,然後在示例文本中獲取帶有此關鍵的完整內容。解題原理是利用這四個查找函數時,被查找字符串中沒有要查找的內容會返回錯誤值的特徵,再結合LOOKUP函數會自動忽略錯誤值查找的優勢,將數據查找出來,接下來我們以第一組公式為例,來分解求解過程:

LOKUP函數向量用法,先在第2參數中查找小於等於查找值且最接近查找值的數據;然後再從第3個參數的數組中,找到對應位置的數據,返回結果。

1、FIND(C81,B82:B88)={1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

2、-FIND(C81,B82:B88)={-1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

3、LOOKUP函數的查找值為0,然後在第2個結果的數組中,查找小於等於0且最接近0的值,結果為-1(這就是在FIND函數前面添加一個負號的原因,如果FIND函數前面不加負號,可以把LOOKUP函數的第1個參數設置成一個很大的數即可)

4、數字【-1】在第2參數數組的第一個條,則返貨第2參數數組的第一個值,結果就是【中國 China】


字符串替換(字符串的塗改液)

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

字符串替換

如上圖,是這三個函數的基礎內容,這三個函數都可以實現將一個字符串中某部分內容替換成新字符串。他們的區別是:

Substitute函數不限定字符串的位置,只限定需替換字符串的內容;按內容替換時,選擇此函數

Replace函數不限定字符串的內容,只限定需替換字符串的位置。按位置替換時,選擇此函數。

下面我們用案例來看看這兩個函數適用於什麼情況:

一、將手機號碼中間四位替換成【*】以進行保密

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

根據位置替換

大家想想,這個題目,如果用SUBSTITUTE函數,該如何寫公式呢?(下面公式還好不長)

<code>=SUBSTITUTE(B92,MID(B92,4,4),"****")/<code>

二、替換文本中的空格

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

根據內容替換

大家想想,這個題目,如果用REPLACE函數,該如何解決呢?(下面公式好複雜,如果再加兩個空格呢就更不好處理了)

<code>=REPLACE(REPLACE(B100,FIND(" ",B100),1,),FIND(" ",REPLACE(B100,FIND(" ",B100),1,)),1,)/<code>

三、統計字符串中有多少個空格

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

統計空格數量

先用LEN函數計算帶空格的字符串字符數,再用SUBSTITUTE函數清除掉所有空格後,用LEN函數計算無空格字符串的字符數,兩個字符數的差就是空格的數量。(此題用REPLACE函數就不好解決了)


字符串重複

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

字符串重複

上圖是函數的基礎解釋和用法,需注意幾個問題:

1、如果重複的次數為0,則返回空白文本;

2、如果重複的次數為小數,則會向下取整後再計算;

3、REPT 函數的結果不能大於 32,767 個字符,否者會顯示錯誤。

下面是這個函數的使用案例:

一、星級評定

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

二、補齊數字位數

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

<code>此題用的函數公式為:=RIGHT(REPT(0,4)&C124,4)/<code>

三、條形圖製作(類似與數據條)

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

<code>此題的函數公式為:=REPT("|",C131)&"   "&C131/<code>

四、文本拆分【綜合應用,經典案例】

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

文本拆分

<code>公式:=TRIM(MID(SUBSTITUTE(C$130,"-",REPT(" ",50)),ROW(A1)*50-49,50))/<code>

思路:

①用REPT函數生成50個空格組成的字符串;

②用SUBSTITUTE函數批量將【-】替換成50個字符串;

③用MID函數,分別從1、51、101、151……位開始,截取50個字符串的文本內容;

④同TRIM函數將截取的字符串前後的空格清除。

五、數值拆分【會計常用】

此題詳見我分享的另一篇文章

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

此題的解題思路如下:

提醒:你收到一套函數。這套函數全吃透,文本處理不發愁。進階二

<code>所用的函數公式:=LEFT(RIGHT(TEXT(ROUND($A3/1%,)," ¥0"),10-COLUMN(A1)))/<code>

到現在,關於文本這一套關於文本的函數就全部介紹完畢。3月5日對這連續3天分享的內容做個簡單的總結,希望大家繼續關注。

如果你喜歡我分享的內容,請點個贊支持下;

如果你覺得我分享的內容對你有幫助,可以關注我;

如果要看我以前分享過的好玩的內容,大家可以去我的主頁查看歷史文章。


分享到:


相關文章: