【WPS表格案例】利用表格完成填空题的填写

刘航

创作者俱乐部成员

👋

各位大家好!最近在整理之前在WPS社区以及菁培班学习的案例,发现了一个比较有代表性的问题:WPS表格能否将填空题的答案填写在题目的空白区域当中?抱着这样的想法,我们来研究一下今天的案例,利用WPS表格给出一种解决方案,为大家解决此类问题拓宽一下思路。

  1. 案例介绍

如下图所示,A列中有一些填空题的题目,其中每一个题目中的空白区域都用“( )”(英文括号中间加一个空格)表示,B列中有这些填空题对应的答案,每个空之间的答案用英文的逗号连接。现在我们需要把空白区域用答案代替,组成一个完整的句子,实现效果如C列所示。

为填空题填上答案

  1. 解决方案

我们不多说,直接看一下这道题的解决思路(以C2单元格呈现的结果为例):

解决方案:TEXTSPLIT和TEXTJOIN函数的混合使用

👋

=TEXTJOIN(TEXTSPLIT(B2,,","),FALSE,TEXTSPLIT(A2,,"( )"))

我们将为大家抽丝剥茧,一步一步说明为什么会有这样的答案。

解析:

  1. TEXTSPLIT(A2,,"( )"):我们使用TEXTSPLIT函数对A2单元格中的内容以“( )”为分隔符按行拆分,得到一个多行一列的数组,如下图所示:

  1. TEXTSPLIT(B2,,","):意思也是一样的,利用TEXTSPLIT函数将B2单元格中的内容以英文逗号为分隔符进行拆分,得到一个多行一列的数组,如下图所示:

  1. TEXTJOIN(TEXTSPLIT(B2,,","),FALSE,TEXTSPLIT(A2,,"( )")):利用TEXTJOIN将空填入到分割好的字符数组内。TEXTJOIN函数的第一个参数为分隔符,将TEXTSPLIT(B2,,",")生成的答案数组作为分隔符,第二个参数为是否忽略空单元格,在这里我们选择不忽略空单元格,因为在对B列数据进行分行处理时可能会产生空单元格,忽略空单元格可能会产生错误结果。第三个参数为要连接的字符串,在这里我们输入的是对A2单元格分行的结果。

  1. 其他解法

给大家一种不使用TEXTJOIN、TEXTSPLIT函数的解决方法,大家可以看看为什么这么做结果也正确:

🔔

=SUBSTITUTE(SUBSTITUTE(A2,"( )、",""),"( )",SUBSTITUTE(B2,",","、"))

这个解法中多次使用了SUBSTITUTE函数,原理和上面的解法大差不差,相信大家也能看得明白,在这里就不作赘述了。

  1. 总结

本次案例还是比较有新意的,不过这个案例也有许多局限性,比如没有办法应对一般的情况,只能对规定的格式进行分列、转换、替换。遇到符号使用不规则的情形,这样的方法就不太好用了。不过重在学习,希望能够给大家提供一种处理此类问题的好方法。


案例学习下载:

【WPS表格案例】使用公式给填空题填空

下载方法:点击上方链接,然后点击左上角的菜单栏,点击【下载】即可学习使用。


如果大家在阅读时有所收获,那么大家可以点击小红心❤️和收藏~

如果大家也有自己的头脑风暴,那么不要吝啬自己的评论💬和转发哦~

WPS表格系列文章指路:

北京
浏览 2935
3
12
分享
12 +1
8
3 +1
全部评论 8
 
撇嘴打卡,求提高使用次数多上线。我的文章写到紧要关头,次数不够了,哇哦,可以单买吗?撇嘴撇嘴
· 江苏省
回复
撇嘴打卡,求提高使用次数多上线。我的文章写到紧要关头,次数不够了,哇哦,可以单买吗?撇嘴撇嘴撇嘴打卡,求提高使用次数多上线。我的文章写到紧要关头,次数不够了,哇哦,可以单买吗?撇嘴撇嘴撇嘴打卡,求提高使用次数多上线。我的文章写到紧要关头,次数不够了,哇哦,可以单买吗?撇嘴撇嘴
· 江苏省
回复
 
6666666
· 广东省
回复
 
66
· 湖北省
回复
 
墨云轩

创作者俱乐部成员

优秀!!!
· 河北省
回复
 
· 广东省
回复
 
666,跟着大佬学习
· 广东省
回复
 
阿滨

社区优秀创作者

排版的不错
· 江苏省
1
回复