ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 综合应用 > 如何将单元格字符逆转

如何将单元格字符逆转

作者:绿色风 分类: 时间:2022-08-18 浏览:155
楼主
小吴同学
Q:如何将字符逆转过来,如将“你好我是小吴同学”显示为“学同吴小是我好你”

A:通过一下几种方法均可以实现逆转

1、        基础技巧:“文本竖排”+“自动换行”
选中单元格,右键设置单元格,在“对齐”选项卡中勾选“自动换行”,并点击“方向”中的“文本”

 

使用这种方法只是显示的时候逆转,实际的文本并没有逆转过来。


2、        VBA:使用StrReverse函数
  1. Function getreverse(rng As Range)

  2.     getreverse = StrReverse(rng)

  3. End Function
3、        SQL:使用StrReverse函数
  1. Select  strreverse(姓名)  as 字符逆转 from  [sheet1$A:B]
4、        函数:循环引用
A1是源字符,在“EXCEL选项”—“公式”中勾选“迭代计算”,再在B1中输入以下公式
  1. =T(B1)&RIGHT(LEFT(A1,LEN(A1)-LEN(T(B1))))
再按一会F9即可
公式解释:
b1的初始值为空,在输入公式的时候,执行第一次计算,过程是:
  1. t(b1) = ""
  1. len(a1)-len(t(b1))=8
  1. right(left(a1,8))="学"
  1. T(B1)&RIGHT(LEFT(A1,LEN(A1)-LEN(T(B1)))) = "学"
此时b1的值已经变为了“学”,在按第二次f9的时候,再执行一次循环计算
  1. t(b1) = "学"
  1. len(a1)-len(t(b1))=7
  1. right(left(a1,7))="同"
  1. T(B1)&RIGHT(LEFT(A1,LEN(A1)-LEN(T(B1)))) = "学同"
2楼
小吴同学
以此类推,按了7次之后会把8个字符全部显示出来“学同吴小是我好你”,如果进行按f9(第8次,第9次,第10次,,)
  1. t(b1) = "学同吴小是我好你"
  1. len(a1)-len(t(b1))=0
  1. right(left(a1,7))=""
所以,最终结果还是
  1. T(B1)&RIGHT(LEFT(A1,LEN(A1)-LEN(T(B1)))) = "学同吴小是我好你"
这里解释一下为什么b1要加个t()
T()函数在这里的作用是将空单元格默认的数值“0”转化“”,如果不使用T()进行转化的话,b1的初始值是将是0,第一次计算的过程将变成
  1. b1 = 0
  1. len(a1)-len(b1)=7
  1. right(left(a1,7))="同"
也就是说,第一次计算的结果会变成
  1. B1&RIGHT(LEFT(A1,LEN(A1)-LEN(B1))) = "0同"
3楼
yqcircle
哈哈哈哈哈哈哈哈哈
4楼
twtgwygwy
噶有难度的
5楼
xpm130
一个小玩意竟有这么多名堂.叹叹
6楼
CheryBTL
很帅,收藏了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap