ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: Oromё大刘

[已解决] 如何能把一串ASCII代码转换成字符呢?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-3 17:57 | 显示全部楼层
Oromё大刘 发表于 2024-7-3 16:15
同问
感谢感谢,=CONCAT(CHAR(DECIMAL(TEXTSPLIT(A1," "),16)))此公式确实好用,但是有个疑问
1、原ASC ...

首尾有空格,用TRIM函数去掉,中间如果有多个分隔空格,在TEXTSPLIT函数的第四参数去掉,公式修改如下:
  1. =CONCAT(CHAR(HEX2DEC(TEXTSPLIT(TRIM(A2)," ",,1))))
复制代码

如果要按照每三位分组,公式为:
  1. =REGEXP(CONCAT(CHAR(HEX2DEC(TEXTSPLIT(TRIM(A2)," ",,1)))),"(\d{3})",2,"\1 ")
复制代码


第二个公式需要WPS最新版,OFFICE365需要将REGEXP换成REGEXEXTRACT函数。
微信图片_20240703175350.png

TA的精华主题

TA的得分主题

发表于 2024-7-3 22:24 | 显示全部楼层
才明白过来题主说的空格,是指ASCII码09代表的横表符号。比较有意思:
1. A4的结果,是按照ASCII字符串直接反演得到的结果,直观上字符个数是22,但是D4检测结果是30。
2. A5利用正则公式,强行按照每三位数增加一个空格(“ ”),由于正则公式只提取数字,显示结果正确,但D5检测长度,得到37,增加了7个空格。
3. A6利用TEXTJOIN函数增加空格,此时每次分段的长度必须为4,结果才正确,而不是想当然的3。但D6检测的字符串长度为34,有点想不通。
4. A7强行将ASCII(09)替换成空格“ ”,显示的结果符合预期,D7检测的字符串长度又回复到30,直观上,似乎应该28(22+6),也想不通。
5. D9,将A4以纵列显示,很明显,是有空格的(这里的空格是ASCII-09,用 TOCOL(,3)方法不能去除)。

以上,供讨论和请教。
微信图片_20240703221240.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-4 13:33 | 显示全部楼层
实在是精彩,各位这神人也!

以上问题已解决,发自肺腑的感谢各位热情解答
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-29 07:19 , Processed in 0.043141 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表