二維碼 購物車
部落窩在線教育歡迎您!

史上最全的文本函數(shù)典型用法盤點(第三期):如何精確的提取字符

?

作者:小可來源:部落窩教育發(fā)布時間:2021-07-14 11:03:05點擊:2103

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

繼前面兩期的文本函數(shù)典型案例,我們已經(jīng)和大家介紹了至少6個文本函數(shù)。今天,小E和大家繼續(xù)系統(tǒng)的學習其他文本函數(shù)的用法:FIND函數(shù)的萬能組合用法和百變神奇的REPT函數(shù),用它們輕松提取文本數(shù)據(jù)中的字符!

 

 

“春眠不覺曉,我在做報表;夕陽無限好,還在做報表;舉頭望明月,通宵達旦做報表。害,洛陽親友如相問,就說我在做報表……”

 

你還在為文本函數(shù)加班嗎?你還在為提取字符煩惱嗎?你還在為加班禿頭嗎……快來跟小編學習更多實用的文本函吧?。?!



本期目錄呈上~~~

一、FIND

1.1將第二個"/"后的內(nèi)容提取出來

1.2統(tǒng)計每個人的得票數(shù)

解法一:SUM+FIND+ISNUMBER組合

解法二:COUNT+FIND組合

1.3提取出號碼(數(shù)字前面有字母)

分離出主語(小試牛刀)

二、REPT

2.1提取字符串

2.2評星①

2.3評星②

 



一、FIND

 

1.1將第二個"/"后的內(nèi)容提取出來

要求:將“部門名稱”列(A列)第二個"/"后的內(nèi)容提取到B列。

 

 

方法:在B3單元格輸入公式:=MID(A3,FIND("/",A3,FIND("/",A3)+1)+1,9),向下復制填充公式。

解讀:FIND函數(shù)的嵌套。

最里層的FIND函數(shù)找到第一個“/”在文本的位置,然后+1,即得到第一個“/”后第一個文本字符的位置;

② FIND("/",A3)+1)作為外層FIND函數(shù)的第三參數(shù),這時的FIND("/",A3,FIND("/",A3)+1)就是在找第二個”/”在文本中的位置,再+1,即得出第二個“/”后的第一個文本字符的位置。

把②得出的位置作為MID函數(shù)開始提取的位置,提取長度為9的文本字符串(大于最后部門所有字符長度即可)。

 

1.2統(tǒng)計每個人的得票數(shù)

要求:D列是投票人,E列是投票人所投的對象?,F(xiàn)在要統(tǒng)計出被選舉人的得票數(shù)。

解法一:SUM+FIND+ISNUMBER組合

 

 

方法:在H2單元格輸入公式:=SUM(--ISNUMBER(FIND(G2,$E$3:$E$10))),按三鍵結(jié)束,向下復制填充公式。
解讀:以H2單元格(小顧)為例。

① FIND(G2,$E$3:$E$10)部分,用FIND查找小顧在$E$3:$E$10單元格中的位置,若能找到,會返回“小顧”在單元格中的位置數(shù)字,若找不到則返回“#VALUE!”,例如,“小顧”的結(jié)果返回內(nèi)存數(shù)組{1;#VALUE!;1;#VALUE!;#VALUE!;1;1;#VALUE!}。
然后用ISNUMBER將數(shù)值轉(zhuǎn)為TRUE,錯誤值轉(zhuǎn)為FALSE。用--減負運算將TURE轉(zhuǎn)為1FALSE轉(zhuǎn)為0。

最后用SUM對數(shù)值求和,就得到了“小顧”的票數(shù)。

 

解法二:COUNT+FIND組合

 

 

方法:在I2單元格輸入公式:=COUNT(FIND(G2,$E$3:$E$10)),三鍵結(jié)束,向下復制填充公式。
解讀:函數(shù)COUNT在計數(shù)時,如果參數(shù)是一個數(shù)組或引用,那么只統(tǒng)計數(shù)組或引用中的數(shù)字,數(shù)組中或引用的空單元格、邏輯值、文字或錯誤值都將忽略。因此,COUNT函數(shù)將統(tǒng)計FIND函數(shù)返回內(nèi)存數(shù)組中的數(shù)值個數(shù),個數(shù)和就是每個人的得票數(shù)。

 

1.3提取出號碼(數(shù)字前面有字母)

要求:提取出“信息”列右側(cè)的數(shù)字串。該案例的特殊性在于,數(shù)字的前面有字母,這說明不能用SEARCHB”?”,文本)來做題。

 

 

方法:在B15單元格輸入公式:=MID(A15,MIN(FIND(ROW($1:$10)-1,A15&5/19)),99)三鍵結(jié)束,向下復制填充公式。
解讀:

① 5/19=0.263157894736842,其中包含了1-9的所有數(shù)字。用A15連接5/19,其作用是避免FIND函數(shù)在查找時找不到0-9的數(shù)字時返回錯誤值“#VALUE!”。
② ROW($1:$10)-1
部分,返回內(nèi)存數(shù)組{0;1;2;3;4;5;6;7;8;9},分別作為FIND函數(shù)的查找值,一次返回數(shù)字0-9A15&5/19中出現(xiàn)的起始位置。
③ 以B15單元格公式為例,FIND(ROW($1:$10)-1,A15&5/19)的計算結(jié)果為{9;10;8;11;13;7;17;21;22;23},然后用MIN函數(shù)得出數(shù)組中最小的值,這里結(jié)果為7,也就是在A15&5/19中首個數(shù)字在文本字符串中(“信息”列)的位置。
④ 最后用MID函數(shù),從A15單元格中自第7個字符起開始提取字符,提取字符長度為99的字符串,即后面所有字符串。
小提示:“5/19”可以用“1/17”或者“123456789”代替。

 

小練習:分離出主語(小試牛刀)

要求:分離出句子中的主語。

 

 

參考1.3的案例哦~~~你一定能行?。?!



二、REPT

 

2.1提取字符串

要求:A列是部門名稱,現(xiàn)在要將A列最后一個部門提取出來到B列。

 

 

方法:在B3單元格輸入公式:=TRIM(RIGHT(SUBSTITUTE(A3,"/",REPT(" ",99)),10)),再向下復制填充公式。

解讀:

① SUBSTITUTE(A3,"/",REPT(" ",99))部分:將文本中所有“/”換為99“”(空格);

再用RIGHT函數(shù)從替換后的文本的右邊開始,提取字符長度為99的文本串,提取出的文本既包含最后一個部門的字符也包含很多不需要的空格;

③ 最后用TRIM函數(shù)清除RIGHT函數(shù)提取出的多余的空格。

 

2.2評星①

 

要求:B列是同學的成績,要求根據(jù)圖下右邊的評星規(guī)則(只有★),在C列對每個的成績進行評分。

 

 

方法:在C13單元格輸入公式:=IF(B13<60,"",REPT("",B13/10-5)),再向下填充復制公式。

解讀:先搞清楚分數(shù)與★個數(shù)的關(guān)系。通過一番分析后發(fā)現(xiàn),當分數(shù)<60時,就沒有★,而當分數(shù)>=60時,★個數(shù)=分數(shù)/10-5(截斷取整)。所以,利用IF函數(shù),將60分作為臨界點,大于60分數(shù)時,就用REPT函數(shù)重復“分數(shù)/10-5”個★~~~

 

注意:REPT函數(shù)會自動對小數(shù)參數(shù)作去尾處理,所以分數(shù)/10-5”后不必再對商取整(即不必使用INT等取整函數(shù))

 

2.3評星②

 

要求:B列是同學的成績,要求根據(jù)圖下右邊的評星規(guī)則(★+☆),在C列對每個的成績進行評分。

 

 

方法:在C22單元格輸入公式:=IF(B22<60,"",REPT("",B22/10-5))&REPT("",10-TRUNC(B22/10)),再向下填充復制公式。

解讀:同2.2一樣,★個數(shù)=B13/10-5截斷取整);☆個數(shù)=10-TRUNC(B22/10)TRUNC函數(shù)截斷取整,即直接去除小數(shù)部分)。所以用“&”連接★的個數(shù)和☆的個數(shù)就ok~


為什么★的個數(shù)可以不用TRUNC函數(shù),而☆的個數(shù)需要用TRUNC函數(shù)呢,感興趣的童鞋可以動手動腦試試哦!

 


 

文本函數(shù)今日分享就到這啦~你若還有什么問題或者想分享的,歡迎掃描下方二維碼,到公眾中留言哦~~~

 

本文配套的練習課件請加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時隨地學習Excel

IMG_256

相關(guān)推薦:

史上最全的文本函數(shù)典型用法盤點(第一期)

史上最全的文本函數(shù)典型用法盤點(第二期)

Excel數(shù)字提取技巧:從無規(guī)律文本中提取手機號的5種方法

Excel實用案例:SUBSTITUTE嵌套函數(shù)對文本單元格的判斷和計算

版權(quán)申明:

本文作者小可;同時部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。