在数据处理工作中,经常会遇到需要从文本字符串中提取特定信息的情况。就像在给定的数据表中,如下图,我们需要将B列字符串里包含的数字全部提取出来,并以分隔符“-”显示在C列对应的单元格中。通过巧妙运用Excel函数,我们可以轻松实现这一目标。下面详细介绍具体操作步骤、公式解析以及动图演示。
一、操作步骤
1、定位起始单元格并输入公式:在数据表中,选中C4单元格,它将作为提取结果的起始输出位置。在编辑栏中准确输入公式“=TEXTJOIN("-",TRUE,IFERROR(--MID(B4,ROW($1:$99),1),""))” 。这个公式集合了多个函数的功能,能够实现从字符串中提取数字并按要求格式输出。
2、确认公式并填充:由于此公式为数组公式,输入完成后,不能直接按Enter键,需同时按下组合键“Ctrl Shift Enter” 。此时,C4单元格会根据公式计算出从B4单元格字符串中提取并以“-”分隔的数字结果。接着,将鼠标指针移至C4单元格右下角,待指针变为黑色实心十字(填充柄)时,按住鼠标左键向下拖动,直至C6单元格。这样,公式会自动应用到C4至C6单元格区域,完成整列数据的处理。
二、公式解析
--MID(B4,ROW($1:$99),1)
MID函数基础:MID函数用于从文本字符串中指定的起始位置起返回指定长度的字符。其语法为“=MID(text, start_num, num_chars)” 。其中,“text”是必需参数,代表包含要提取字符的文本字符串,在此处为B4单元格的内容;“start_num”也是必需参数,指文本中要提取的第一个字符的位置;“num_chars”同样必需,它表示从文本中返回字符的个数。
公式含义:“=MID(B4,ROW($1:$99),1)” 利用ROW($1:$99)生成从1到99的数字序列,以此作为MID函数的起始位置,将B4单元格中的字符逐个提取出来,返回一个字符数组。例如,若B4单元格内容为“abc123”,则会依次返回“a”“b”“c”“1”“2”“3”等。
类型转换:“--MID(B4,ROW($1:$99),1)” 前面的两个减号“--”,作用是将文本形式的数字转换为数值类型的数字格式,同时将文本空字符等转成错误值#VALUE! 。例如,对于上述提取的字符数组,“1”“2”“3”等数字字符会被转为数值1、2、3,而非数字字符则变为#VALUE! 。
=IFERROR(--MID(B4,ROW($1:$99),1),"")
IFERROR函数基础:IFERROR函数用于返回公式计算结果为错误时指定的值;否则,返回公式自身的值。其语法为“=IFERROR(value, value_if_error)” 。其中,“value”是必需参数,即检查是否存在错误的参数,这里就是“--MID(B4,ROW($1:$99),1)” ;“value_if_error”同样必需,代表公式计算结果为错误时要返回的值,在此处为“”(空字符串)。
公式作用:此公式使用IFERROR函数将“--MID(B4,ROW($1:$99),1)” 返回的错误值用空字符串表示。这样,经过处理后,数组中的错误值#VALUE! 被替换为空字符串,只剩下数值和空字符串组成的数组。
=TEXTJOIN("-",TRUE,IFERROR(--MID(B4,ROW($1:$99),1),""))
TEXTJOIN函数基础:TEXTJOIN函数用于使用分隔符连接列表或文本字符串区域。其语法为“=TEXTJOIN(delimiter, ignore_empty, text1, [text2], …,[textn])” 。其中,“delimiter”是分隔符,为必需参数,可以是文本字符串(空)或一个或多个用双引号括起来的字符,或对有效文本字符串的引用,若提供数字会被视为文本;“ignore_empty”用于指定是否忽略空白单元格,为必需参数,可选值有TRUE和FALSE,若为TRUE或1,则忽略空白单元格,若为FALSE或0,则包含空白单元格;“text1”是要加入的文本项,为必需参数,可是文本字符串或字符串数组,如单元格区域;“[text2], …,[textn]”是要加入的其他文本项,为可选参数,文本项目最多可包含252个文本参数,包括text1,每个都可以是文本字符串或字符串数组,如单元格区域。
公式逻辑:在“=TEXTJOIN("-",TRUE,IFERROR(--MID(B4,ROW($1:$99),1),""))” 中,第一个参数“-”表示以“-”作为分隔符号;第二个参数TRUE(也可用1表示)表示忽略空白单元格;第三个参数“IFERROR(--MID(B4,ROW($1:$99),1),""))” 是由数字和空字符串组成的数组。TEXTJOIN函数会忽略数组中的空白单元格,将得到的数字用字符“-”连接起来,从而得到我们期望的结果。
三、动图演示
通过动图演示,可以更直观地看到整个操作过程。
首先,在C4单元格中输入公式,按下“Ctrl Shift Enter”组合键后,C4单元格立即显示出从B4单元格字符串中提取并以“-”分隔的数字。随后,当鼠标指针变为填充柄并向下拖动时,C列后续单元格会迅速按照公式逻辑,依次完成从B列对应单元格字符串中提取数字并以“-”分隔显示的操作,高效且准确地完成数据处理任务。
评论 (0)