如何用公式輕松刪除Excel單元格中兩個“*”及其之間的內容?

Excel學習世界 2024-06-07 22:54:39

今天用一個案例,教大家學習 text 函數家族中幾個比較特殊的成員。

案例:

將下圖 1 中的字符串分別按以下方式分隔、提取出來:

以“*”爲分隔符,按列拆分;

將兩個“*”及中間的所有內容刪除

效果如下圖 2 所示。

01以“*”爲節點,按列拆分

1. 在 B2 單元格中輸入以下公式 --> 下拉複制公式:

=TEXTSPLIT(A2,"*")

公式釋義:

textsplit 函數顧名思義,作用就是使用列和行分隔符拆分文本字符串;

語法爲 TEXTSPLIT(text,col_delimiter,[row_delimiter],[ignore_empty], [match_mode], [pad_with])

參數如下:

text:必需,要拆分的文本;

col_delimiter:必需,跨列溢出文本的文本分隔點;

[row_delimiter]:可選,跨行溢出文本的文本分隔點;

[ignore_empty]:可選,如果爲 TRUE 則可以忽略連續分隔符;默認值爲 FALSE,會創建一個空單元格;

[match_mode]:可選,如果設置爲 1 則可以不區分大小寫;默認值爲 0,區分大小寫;

[pad_with]:可選,用于填充結果的值,默認值爲 #N/A。

公式的意思是將 A2 單元格的值以“*”爲分隔符,拆分到不同的列中。

02刪除兩個“*”及其中間的內容

1. 在 E2 單元格中輸入以下公式 --> 下拉複制公式:

=TEXTBEFORE(A2,"*",1)&TEXTAFTER(A2,"*",2)

公式釋義:

TEXTBEFORE(A2,"*",1):

textbefore 函數的作用返回在給定字符或字符串之前發生的文本;

語法爲 TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found]);參數如下:

text:必需,要查詢的文本;不允許使用通配符;如果爲空字符串,則返回空文本;

delimiter:必需,標記要提取其前面內容的文本分隔點;

[instance_num]:可選,分隔符在文本中出現的次數;默認情況下,instance_num = 1;負數開始從末尾開始搜索文本;

[match_mode]:可選,否區分大小寫,0 表示區分,1 不區分;默認爲區分大小寫;

[match_end]:可選,將文本結尾視爲分隔符;默認情況下,文本完全匹配;0 表示不將分隔符與文本末尾匹配;1 表示將分隔符與文本末尾匹配;

[if_not_found]:可選,未找到匹配項時返回的值;默認情況下,返回 #N/A;

本公式表示從 A2 單元格中提取出第一個“*”前的所有內容;

TEXTAFTER(A2,"*",2):

textafter 與 textbefore 的語法基本相同,只是作用正好想法,是用于提取分隔符後面的內容;

從 A2 單元格中提取出第二個“*”後面的所有內容;

&:最後再用連接符號將兩個公式結果連接起來,就得到最終結果。

0 阅读:3

Excel學習世界

簡介:Excel 學習交流