當前位置: 妍妍網 > 辦公

字元拆分,這個函式真厲害

2024-03-07辦公

小夥伴們好啊,今天咱們一起來學習專門用於字元拆分的TEXTSPLIT函式。 這個函式目前可以在Excel 365以及最新的WPS表格中使用,常用寫法為:

TEXTSPLIT(待拆字元,[列分隔字元],[行分隔字元],[是否忽略空],[是否區分大小寫],[出錯時返回什麽])

分隔字元或行分隔字元 可以只用其一,也可以同時使用。並且允許 同時有多個不同的行列分隔符。

接下來咱們就看看這個函式的部份基礎用法:

1、科目拆分

如下圖,需要按分隔符「/」,來拆分A列中的會計科目。

B2輸入以下公式,下拉即可。

=TEXTSPLIT(A2,"/")

本例中, TEXTSPLIT的 第二參數使用 "/"作為列 符號,其他參數省略。

2、忽略空字元

如下圖,A列待拆分字元中,有部份間隔符號出現了多次,使用以下公式,可以在拆分時忽略分隔符號之間的空字元。

=TEXTSPLIT(A2,"/",,1)

本例中,第二參數 使用 "/"作為列分隔符號,省略了行分隔符號的參數。第三參數使用1或TREU,表示忽略空字元。

3、同時設定多種分隔符號

如下圖,A列待拆分字元中,有多種型別的間隔符號,包括逗號、分號,斜杠和頓號,使用以下公式,可以按常量陣列的形式 將多種分隔符 號寫到一起

=TEXTSPLIT(A2,{"/","、",",",";"})

公式中的列分隔符號為 {"/","、",",","; "},即斜杠 "/"、逗號 ", "、頓號"、"和斜杠"/"。每一個符號都加上雙引號,符號之間用半形的逗號或半形分號作為間隔,最後用一組花括弧包含起來。

TEXTSPLIT將依次按花括弧中不同型別的分隔符拆分到各列。

4、提取混合內容中的金額再求和

如下圖所示,A列是一些平台優惠資訊,希望提取出其中的金額部份,並進行求和匯總。

B2單元格輸入以下公式,向下復制即可。

=SUM(1*TEXT(TEXTSPLIT(A2,{"-",";"}),"0%;0;0;!0"))

先使用 短橫杠"-"和分號";",對A2單元格中的內容進行拆分,得到結果為:

{"平台新人券","8.00","購物補貼抵扣金額","1.01"}

再使用TEXT函式,根據拆分後的格式進行轉換。

TEXT函式的格式程式碼 "0%;0;0;!0",表示大於0的顯示為百分比形式,也就是保留了兩位的小數。小於0和等於0的返回0,文本部份強制顯示為0。

TEXT函式的結果為文本格式,乘以1轉換為數值,最後用SUM函式求和。

5 、合並練習題和參考答案

如下圖所示,A列是邵版給出的一些填空題,B列是學霸「廣州-遊」給出的參考答案,希望將填空題和答案內容合並到一起。

C2單元格輸入以下公式,向下復制:

=TEXTJOIN(TEXTSPLIT(B2,,"、"),0,TEXTSPLIT(A2,,"__"))

公式中的 TEXTSPLIT(B2,,"、")部份,將B2單元格中的參考答案按頓號拆分為4行,稍後的計算中將用作 T EXTJOIN函式合並字元時的間隔符號

公式中的 TEXTSPLIT(A2,,"__") 部份,將A2單元格中的題目按短橫線拆分為4行:

最後用 TEXTJOIN函式合並A2單元格拆分後的字元。間隔符號為 B2單元格拆分後的內容。

TEXTJOIN函式的第二參數使用0,表示包括待合並內容中的空單元格。

6 、按部門拆分姓名

如下圖所示,A列是邵氏公司的一些部門和人員姓名混合內容。希望按部門將姓名拆分到多行多列。

學霸「醉清風」在C3單元格輸入以下公式,即可得到正確結果: =TEXTSPLIT(CONCAT(IF(RIGHT(A2:A13)="部","按行","按列")&A2:A13),"按列","按行",1,,"")

公式中的這部份 I F (RIGHT(A2:A13)="部","按行","按列"), 先用RIGHT函式提取A列內容的最後一個字元,再用IF函式判斷是否為「部」,如果最後一個字元為「部」,IF函式返回字元「按行」,否則返回「按列」。

再分別與 A2:A13單元格區域中的各個 字串進行合並。得到以下一組字串:

{"按行銷售部";"按列西門長海";"按列趙德柱";"按列葉四娘";"按列楊了二過";"按行財務部";"按列高大毛";"按列曹公公";"按列軒轅梅六";"按行質保部";"按列菜花婆婆";"按列西門柔"}

接下來使用 CONCAT函式將這些內容合並到一起:

"按行銷售部按列西門長海按列趙德柱按列葉四娘按列楊了二過按行財務部按列高大毛按列曹公公按列軒轅梅六按行質保部按列菜花婆婆按列西門柔"

最後使用 TEXTSPLIT函式將以上內容進行拆分,列間隔符號為字元「按列」,行間隔符號為字元「按行」。

TEXTSPLIT函式第三參數使用1,表示忽略空單元格。

最後一個參數使用空文本,表示拆分不到內容的單元格顯示為空白。

好了,今天的分享就是這些,祝各位一天好心情~~

圖文制作:祝洪忠