【WPS表格案例】利用表格完成填空题的填写
创作者俱乐部成员
👋 | 各位大家好!最近在整理之前在WPS社区以及菁培班学习的案例,发现了一个比较有代表性的问题:WPS表格能否将填空题的答案填写在题目的空白区域当中?抱着这样的想法,我们来研究一下今天的案例,利用WPS表格给出一种解决方案,为大家解决此类问题拓宽一下思路。 |
- 案例介绍
如下图所示,A列中有一些填空题的题目,其中每一个题目中的空白区域都用“( )”(英文括号中间加一个空格)表示,B列中有这些填空题对应的答案,每个空之间的答案用英文的逗号连接。现在我们需要把空白区域用答案代替,组成一个完整的句子,实现效果如C列所示。
为填空题填上答案
- 解决方案
我们不多说,直接看一下这道题的解决思路(以C2单元格呈现的结果为例):
解决方案:TEXTSPLIT和TEXTJOIN函数的混合使用
👋 | =TEXTJOIN(TEXTSPLIT(B2,,","),FALSE,TEXTSPLIT(A2,,"( )")) |
我们将为大家抽丝剥茧,一步一步说明为什么会有这样的答案。
解析:
TEXTSPLIT(A2,,"( )"):我们使用TEXTSPLIT函数对A2单元格中的内容以“( )”为分隔符按行拆分,得到一个多行一列的数组,如下图所示:
TEXTSPLIT(B2,,","):意思也是一样的,利用TEXTSPLIT函数将B2单元格中的内容以英文逗号为分隔符进行拆分,得到一个多行一列的数组,如下图所示:
TEXTJOIN(TEXTSPLIT(B2,,","),FALSE,TEXTSPLIT(A2,,"( )")):利用TEXTJOIN将空填入到分割好的字符数组内。TEXTJOIN函数的第一个参数为分隔符,将TEXTSPLIT(B2,,",")生成的答案数组作为分隔符,第二个参数为是否忽略空单元格,在这里我们选择不忽略空单元格,因为在对B列数据进行分行处理时可能会产生空单元格,忽略空单元格可能会产生错误结果。第三个参数为要连接的字符串,在这里我们输入的是对A2单元格分行的结果。
- 其他解法
给大家一种不使用TEXTJOIN、TEXTSPLIT函数的解决方法,大家可以看看为什么这么做结果也正确:
🔔 | =SUBSTITUTE(SUBSTITUTE(A2,"( )、",""),"( )",SUBSTITUTE(B2,",","、")) |
这个解法中多次使用了SUBSTITUTE函数,原理和上面的解法大差不差,相信大家也能看得明白,在这里就不作赘述了。
- 总结
本次案例还是比较有新意的,不过这个案例也有许多局限性,比如没有办法应对一般的情况,只能对规定的格式进行分列、转换、替换。遇到符号使用不规则的情形,这样的方法就不太好用了。不过重在学习,希望能够给大家提供一种处理此类问题的好方法。
案例学习下载:
下载方法:点击上方链接,然后点击左上角的菜单栏,点击【下载】即可学习使用。
如果大家在阅读时有所收获,那么大家可以点击小红心❤️和收藏⭐~
如果大家也有自己的头脑风暴,那么不要吝啬自己的评论💬和转发✅哦~
WPS表格系列文章指路:
创作者俱乐部成员
社区优秀创作者