WPS表格如何实现字符串反转?三种方法分享给你
有网友咨询了这样一个问题:在WPS表格中,怎么生成反转的字符串?比如原字符串是”asdf”,反转以后变成”fdsa”。如下图所示:

这个问题在日常数据处理中其实挺常见的,今天就跟大家分享三种方法。
方法一:MID + CONCAT 法(最直观)
我们利用 MID 函数进行截取,将字符串单个单个地拆开,再从后往前提取。
思路是这样的:
先算出字符串总共有几个字符,然后用 MID 从后往前依次截取每个字符,最后用 CONCAT 函数把它们连接起来。
公式如下:
=CONCAT(MID(A2,LEN(A2)-SEQUENCE(LEN(A2))+1,1))
来拆解一下这个公式:
LEN(A2) 获取字符串长度
SEQUENCE(LEN(A2))生成从1到字符串长度的序号序列
LEN(A2)-SEQUENCE(LEN(A2))+1 ,把序号反过来,变成从后往前的顺序
MID 按这个反序依次截取每个字符
CONCAT 把所有截取的字符连起来
输入公式后回车,双击填充柄就能得到结果了。具体操作如动图演所示:

方法二:REDUCE + LAMBDA 法(进阶用法)
我们用 REDUCE 函数配合 LAMBDA 来实现,这个方法更简洁,思路也更巧妙。
公式如下:
=REDUCE(,MID(A2,SEQUENCE(LEN(A2)),1),LAMBDA(x,y,y&x))
这个公式怎么理解呢?
REDUCE 的第一个参数是空值 “”,作为初始值
第二个参数是用 MID 把字符串拆成单个字符的数组
第三个参数是 LAMBDA 表达式,其中 x 是累积值,y 是当前字符
y & x 让新字符拼接到旧字符前面,这样就实现了反转
简单说,就是每次把新截取的字符放到前面,之前的结果放到后面,遍历完整个字符串,反转就完成了。
同样,回车后双击填充即可。具体操作如动图演所示:

当然,如果你用的 Excel 版本较低或者 WPS 版本较低,没有 REDUCE 和 LAMBDA 函数,也别着急,咱们看第三种方法。
方法三:ROW + INDIRECT + MID + CONCAT 法(通用兜底)
用传统的 ROW 函数配合 INDIRECT 来生成序号,同样可以实现反转。
公式如下:
=CONCAT(MID(A2, LEN(A2)-ROW(INDIRECT(“1:”&LEN(A2)))+1, 1))
这个公式看起来跟方法一有点像,但思路更直接一些:
ROW(INDIRECT(“1:”&LEN(A2))) 直接用 INDIRECT 生成 1:4 这样的区域引用
ROW 把它转成 {1;2;3;4} 这样的纵向数组
ROW(INDIRECT(“1:”&LEN(A2)))+1 转成 {4;3;2;1},实现了从后往前截取
MID 按反序截取每个字符
CONCAT 连接起来
这个方法的优势在于兼容性好,不依赖新版本的函数,大部分场景都能用。具体操作如动图演所示:

总结对比

三种方法各有千秋,大家可以根据自己的 WPS 版本和个人习惯来选择。
今天的分享就到这里。关于字符串反转,你是否还有更好的解决方法?欢迎留言分享!
我是墨云轩,热衷分享办公小技巧,边学习,边分享,每天进步一点点!感谢您的阅读!
夜雨聆风