怎么提取试卷中括号里的答案(文档中怎么快速提取试卷中的答案)

怎么提取试卷中括号里的答案(文档中怎么快速提取试卷中的答案)

首页技巧更新时间:2024-11-29 16:05:42

大家好,今天我们来解决一位粉丝朋友的燃眉之急:同一个单元格中包含多个括号,如何将所有括号里面的内容提取出来,并将结果放到指定的单元格中?小编用了一组函数公式解决了这个问题。粉丝朋友惊呼:这可帮了我的大忙!

如下图所示

A列内容每个单元格中包含多组括号括号数量不固定,位置不固定。我们想要将所有括号里面的内容提取出来,并放置到B列的对应的单元格显示。

有的朋友说,用“神奇的“Ctrl E”快捷键可以吗?答案肯定是不可以的,我想这位朋友可能是抖音看多了,太相信那些“神奇的Excel一秒钟技巧”了。由于括号数量不固定,位置不固定,影响到了“Ctrl E”快捷键的操作效果,如下图所示,提取结果出现了预料之中的错误

Ctrl E不行,VBA代码太深奥,又不会,可怎么解决呢?我们可以按照下面的方法输入函数公式。

我们可以先输入TEXTAFTER函数

=TEXTAFTER(A2,"(")

TEXTAFTER函数是提取指定字符之后的内容。

TEXTAFTER函数参数

TEXTAFTER(要拆分的文本,分隔符,[搜索的方向],[是否区分大小写],[结尾匹配],[异常返回值])

虽然TEXTAFTER函数有六个参数,但是一般情况下我们只用到前两个参数。

即用TEXTAFTER函数提取A2单元格内第1个左括号“(”之后的内容。之所以使用这一步,是为了避免数据源中单元格内字符开头是非括号的情况,如果大家觉得这一步没用,可以暂时省略,看看整体输入完全部公式后会出现什么情况。

接着输入TEXTSPLIT函数

=TEXTSPLIT(TEXTAFTER(A2,"("),"(")

TEXTSPLIT函数是用于分列或分行的函数

函数基本参数

TEXTSPLIT(待拆字符,[列分隔字符],[行分隔字符],[是否忽略空],[是否区分大小写],[出错时返回什么])

使用TEXTSPLIT函数对上一步TEXTAFTER的返回结果进行分列,列分隔符使用第二参数左括号“(”

再叠加重复使用TEXTSPLIT函数

=TEXTSPLIT(TEXTSPLIT(TEXTAFTER(A2,"("),"("),")")

使用TEXTSPLIT函数对上一步的TEXTSPLIT函数返回结果再次进行分列,列分隔符使用第二参数右括号“)”

该步函数参数为数组溢出,因遮挡剔除原理,至此步骤为止,我们就将所有的括号里面的内容,通过分列的方式提取到了一行多列的单元格中显示。如下图所示:

所以,我们最后使用TEXTJOIN函数进行多单元格内容合并

=TEXTJOIN(",",,TEXTSPLIT(TEXTSPLIT(TEXTAFTER(A2,"("),"("),")"))

TEXTJOIN是一个超级好用的合并类型的函数

TEXTJOIN(连接分隔符,是否忽略空值,合并范围)

连接分隔符:多个文本用指定字符连接起来。

是否忽略空值:连接时是否忽略掉结果为空的值或单元格。

合并范围:可以是单个字符,也可以是区域或数组。

使用TEXTJOIN函数,将以上结果通过使用分隔符逗号“,”,忽略第二参数即忽略掉结果为空的值或单元格后,进行合并到一个单元格显示。

,
大家还看了
也许喜欢
更多栏目

© 1998-2024 shitiku.com.cn,All Rights Reserved.