分類:文本函數(shù)
TEXTBEFOR,TEXTAFTER,TEXTSPLIT函數(shù)是三個(gè)新的字符串處理函數(shù),目前只在Office 365的預(yù)覽頻道中才能使用。其中TEXTAFTERE,TEXTBEFOR的使用非常簡單,TEXTSPLIT函數(shù)相對復(fù)雜一些。
TEXTSPLIT函數(shù)的作用是將一個(gè)字符串按照給定的分隔符進(jìn)行拆分。
語法如下:
TEXTSPLIT(文本,列分隔符,[行分隔符],[是否忽略空值],[填充文本])。
其中,
文本 => 指待拆分的字符串文本。
列分隔符 => 指用來將文本拆分成多列的分隔符。
行分隔符 => 指用來將文本拆分成多行的分隔符??梢允÷?。
是否忽略空值 => 指拆分結(jié)果中如果有空值,是否忽略。邏輯值,TRUE=忽略,F(xiàn)LASE=保留。缺省值是FALSE。
填充文本 => 如果拆分成二維數(shù)組,用來填充那些缺少的值。
可以將下面的文本:
Excel,Power Query,Power Pivot,Power BI,Power Automate
按照逗號拆分成多列:
=TEXTSPLIT(B2,",")
結(jié)果如下:
也可以按照逗號拆分成多行:
=TEXTSPLIT(B2,,",")
注意,在這個(gè)公式中,第二個(gè)參數(shù)(列分隔符)實(shí)際上是空的,被省略了,而將逗號作為第三個(gè)參數(shù)(行分隔符)使用。結(jié)果就是整個(gè)文本被拆分成多行:
有時(shí),字符串中的分隔符不一致。比如:
Excel;Power Query,Power Pivot,Power BI!Power Automate
在這個(gè)字符串中有分號,逗號,中文逗號,嘆號等多種分隔符。但是很明顯它們都是用來分割不同項(xiàng)目的。
這種情況下,可以使用下面的公式:
=TEXTSPLIT(B2,{",",";",",",".","!"})
在這個(gè)公式中,我們將各種分隔符做成數(shù)組,作為第二個(gè)參數(shù)(列分隔符)使用:
=TEXTSPLIT(B2,",",,TRUE)
很多情況下,需要將字符串拆分成多行多列。比如:
郭靖,黃蓉;楊過,小龍女;張無忌,趙敏;段譽(yù),王語嫣;蕭峰,阿朱
在這個(gè)字符串中,
有逗號和分號進(jìn)行分割。但是不能將它們都作為列分隔符使用。我們可以將逗號作為列分隔符,分號作為行分隔符:
=TEXTSPLIT(B2,",",";")
結(jié)果是二維數(shù)組:
在待處理的字符串中,不一定拆分的行數(shù)和列數(shù)都一樣,此時(shí),就會產(chǎn)生錯(cuò)誤值。比如:
郭靖,黃蓉;楊過,小龍女;張無忌,周芷若,趙敏;段譽(yù),王語嫣;蕭峰,阿朱
張無忌開始的這一行中,有3個(gè)人,而其余每行有兩個(gè)人:
不足的部分就返回#N/A。
可以用IFNA去掉這些錯(cuò)誤值:
也可以使用第五個(gè)參數(shù),以你需要的文本代替:
=TEXTSPLIT(B2,",",";",,"無")
可以將缺失的值替換為“無”:
這兩個(gè)函數(shù)的作用是從一個(gè)文本中返回給定的分隔符之前或之后的文本。
語法如下:
TEXTBEFORE(文本,分隔字符串,分隔字符串的序號,是否忽略大小寫)。
TEXTAFTER(文本,分隔字符串,分隔字符串的序號,是否忽略大小寫)。
其中,
文本 => 指待處理的文本。
分隔字符串 => 指用來作為對文本進(jìn)行分隔的標(biāo)志。
分隔字符串的序號 => 分隔字符串在文本中可能出現(xiàn)多次,用第幾個(gè)作為分隔。從左邊數(shù),從1開始。缺省值是1。
是否忽略大小寫 => 邏輯值,指示是否忽略分隔字符串的大小寫。TRUE=忽略,F(xiàn)ALSE=不忽略。缺省值是FALSE。
下面是一些例子:
Excel+Power Query+Power Pivot+Power BI
自定義函數(shù) 底部菜單:知識庫->自定義函數(shù)
面授培訓(xùn) 底部菜單:培訓(xùn)學(xué)習(xí)->面授培訓(xùn)
也可以在歷史文章中學(xué)習(xí)Excel,Power Query,Power Pivot,Power BI,Power Automate各種技巧。
聯(lián)系客服