今天跟大家分享2個新的文本提取函數(shù),跟之前講過的TEXTSPLITF非常的相似,都是根據(jù)分隔符來進行數(shù)據(jù)提取的,它們就是TEXTBEFORE與TEXTAFTER,我們來學習下怎么用吧! 一、TEXTAFTER TEXTAFTER:提取分隔符之后的數(shù)據(jù) 語法:=TEXTAFTER (text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])參數(shù)1:要拆分的字符參數(shù)2:分隔符參數(shù)3:匹配方向,默認為1從左到右匹配,如果設(shè)置為負數(shù)則從右到左匹配分隔符參數(shù)4:是否區(qū)域大小寫,默認0不區(qū)分,設(shè)置為1則區(qū)分大小寫參數(shù)5:是否將文本結(jié)尾看作分隔符,默認0結(jié)尾不是分隔符,1則將結(jié)尾字符看作分隔符參數(shù)6:如果函數(shù)提取不到結(jié)果,則返回參數(shù)6 這個函數(shù)乍一看參數(shù)非常的,但是只有第一,第二參數(shù)是必選參數(shù),其他的都是可選參數(shù),是可以直接忽略的, 與之類似的還有TEXTBEFORE,它的作用是提取分隔符之前的文本,用法,參數(shù)基本都是一樣的,我們就不再介紹了,下面我們來看下函數(shù)的用法 二、參數(shù)3匹配方向 前兩個參數(shù)都比較的簡單,我主要從第三個參數(shù)開始了解,第三參數(shù)是用來設(shè)置匹配方向的,如果字符串中存在多個分隔符,就需要設(shè)置這個參數(shù),結(jié)果如下圖所示 設(shè)置為正數(shù)表示從左往右進行匹配 設(shè)置為負數(shù)則表示從右往左進行匹配 里面的數(shù)字就表示具體第幾個分隔符開始提取 三、參數(shù)4是否區(qū)分大小寫 參數(shù)4是用來設(shè)置分隔符是否需要區(qū)分大小寫的 0表示區(qū)分大小寫。默認為0,區(qū)分大小寫 1表示不區(qū)分大小寫分 四、參數(shù)5是否匹配結(jié)尾 這個參數(shù)的作用是否將文本的結(jié)尾看作是分割符,它主要用在文本中不存在分隔符的情況 0表示不將結(jié)尾看作分隔符,不存在拆分字符,則返回NA錯位置。默認為0 1.表示將結(jié)尾看作是分隔符,不存在拆分字符,則返回空白 五、參數(shù)6屏蔽錯誤值 如果函數(shù)返回了NA得錯誤值,我們可以使用參數(shù)6將其屏蔽掉,設(shè)置第六參數(shù)的前提是第五參數(shù)必須為0 以上就是函數(shù)的每個參數(shù)的作用,之前跟大家分享一些使用技巧 六、多分隔符提取 公式:=TEXTBEFORE(B2,{"kg";"個";"袋"}) TEXTBEFOR與TEXTAFTER能在第二參數(shù)中設(shè)置多個分隔符,實現(xiàn)多個分隔符的快速提取,不用逐一設(shè)置,這個還是比較方便的。 七、計算時長 公式:=IF(TEXTAFTER(B2,"-")*1>TEXTBEFORE(B2,"-")*1,TEXTAFTER(B2,"-")*1-TEXTBEFORE(B2,"-")*1,TEXTAFTER(B2,"-")*1+1-TEXTBEFORE(B2,"-")*1)*24 因為存在跨天的情況,我們需要做判斷,所以這個函數(shù)主體是一個IF函數(shù) TEXTAFTER(B2,"-")的作用是提取下班日期 TEXTBEFORE(B2,"-")的作用是提取上班日期 因為它們都是文本函數(shù),還需要將其乘1,將文本數(shù)字轉(zhuǎn)換為數(shù)字格式 公式的原理也很簡單,如果下班時間大于上班時間,就直接使用下班減去上班,如果條件不成立,上班時間加上1再減去下班時間,最后乘以24,將時間轉(zhuǎn)換為對應(yīng)的小時數(shù)即可 八、嵌套提取 TEXTBEFOR與TEXTAFTE能夠進行嵌套提取,用于提取分隔符之前的數(shù)據(jù),我們來看下具體的案例吧 公式:=TEXTAFTER(TEXTBEFORE(A2," "),":") 先使用TEXTBEFOR提取分隔符之前的數(shù)據(jù),然后再使用TEXTAFTER提取分隔符之后的數(shù)據(jù),這樣的話就能提取到分隔符之間的數(shù)據(jù)了 以上就是今天分享的全部內(nèi)容TEXTAFTER函數(shù)的出現(xiàn),可以大大節(jié)省我們的時間,不必再使用MID+FIND進行查找提取,還是非常方便的,大家可以動手試一下 |
|