将单元格内的文本逆序排列,我原本以为在现实场景中没什么实际意义,谁会做这么无聊的事?所以也很少写。
然而越来越多人提了这个问题,而且还真有这需求,比如,将密码倒过来排列,以确保安全;和弦倒过来弹一遍啦;甚至某人不是还把报菜名倒背了一遍吗?
既然群众有要求,那就安排上。
挺早前我其实教过大家一个方法,详情请参阅 Excel – 如何将同一个单元格内的文字逆序排列?
今天我再教大家一个用函数实现的方法。
案例:
下图 1 是一组电子券码,请在另一列中将数字顺序倒过来排列。
效果如下图 2 所示。
解决方案:
1. 在 B2 单元格中输入以下公式 --> 下拉复制公式:
=TEXTJOIN(,,MID(A1,20-ROW($A$1:$A$19),1))
公式释义:
- ROW($A$1:$A$19):取 A1 至 A19 单元格的行数,会生成一组 1 至 19 的数组;
- 20-...:生成 19 至 1 的数组;
- MID(A1,...,1):
- 提取 A1 单元格中,从上述数组值开始的字符,每次提取一位;
- 也就是说先从第 19 位开始提取,然后第 18 位,以此类推,直至第 1 位;
- 凭肉眼观察可以发现,A 列的数值最多 4 位,所以我们也可以将 mid 函数的第二个参数修改为 5-ROW($A$1:$A$4),1)
- TEXTJOIN(,,...):
- textjoin 函数的作用是将多个区域和/或字符串的文本组合起来,其中包括在文本值之间指定的分隔符;
- 参数含义为 TEXTJOIN(分隔符,忽略空白单元格,要连接的文本)
- 整个公式的含义就是将 mid 函数提取出来的每一位连接起来,不需要分隔符;从而实现了逆向排列字符。