上月有财务同事发来Excel问题求助。
同事J反映,收到的表格中存在隐藏的空格和双引号 ,在Excel中无法直接显示,导致数据透视表求和结果出错。目前只能将数据复制到文本文件中,利用替换功能批量删除双引号,再手动逐行清除空格,最后重新粘贴回Excel。该方法极为繁琐低效,已困扰团队多年,希望有高手能提供更有效的解决方案。
原始Excel表格内容如下所示:

图1中原始表格无法显示隐藏字符
数据透视表出现值不可用错误提示。

图2-透视表存在显示错误
将内容复制到文本文档后,发现付款人名称字段中包含空格和双引号。

图3内容可复制至文本文件查看
这才是完整的原始数据,Excel中空格与双引号被隐藏,实为非打印字符所致。
前往站长论坛,使用其Unicode编码转换工具验证这些字符。将单元格中的内容直接复制到左侧输入框,点击ASCII转Unicode按钮,即可查看对应字符的ASCII码值,从而发现隐藏的字符实际为制表符(Tab)和双引号。

图4—站长工具精准验证
非打印字符是什么?
非打印字符是指计算机中存在的某些无法显示或打印的字符。以ASCII码为例,0到31之间的字符为控制字符,虽实际存在却不可见,如回车符,这类字符主要用于控制功能而非视觉呈现。

图5:使用CLEAN函数进行数据清洗
处理后复制到文本文档,空格与双引号均会消失。

图6:CLEAN函数清洗后效果验证

图7展示使用Power Query进行数据清洗的过程。
如下图显示:

图8 - 利用POWER Query的修剪与清理功能进行数据清洗。

图9:清洗完毕后关机并载入
清洗后表格加载结果如下:

图10展示经POWER QUERY清洗处理后的数据结果。

图11:POWER QUERY清洗后数据效果验证
作业成功交付。
同事J:大神,请收下我的敬仰!三种方法都有效,感谢指点,受益匪浅。
终于解决了困扰多年的难题,从此在J的部门扬眉吐气,地位稳固,哈哈。
此类问题常出现在系统导出的数据中,如有更好的解决方法,欢迎各位交流分享。