今天用一个案例,教大家学习 text 函数家族中几个比较特殊的成员。

excel中如何 批量删除两个特定字符之间的内容?将下图 1 中的字符串分别按以下方式分隔、提取出来:

  • 以“*”为分隔符,按列拆分;
  • 将两个“*”及中间的所有内容删除

效果如下图 2 所示。

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

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 单元格的值以“*”为分隔符,拆分到不同的列中。

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

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 单元格中提取出第二个“*”后面的所有内容;
  • &:最后再用连接符号将两个公式结果连接起来,就得到最终结果。

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网

excel中如何批量删除两个特定字符之间的内容?-趣帮office教程网