Excel疑难问题:看不见的空格

以前公司同事突然联系我,问我有没有空看个问题,起因是他做的excel文档里,单元格的值看起来完全没有空格,但是粘贴到别的地方会有双引号和空格,并且vlookup完全搜索不到,具体就像下面的图:

 

说实话这种情况确实第一次见,通常来说,excel文档里出现的空格有以下几种:一是人为的空格,也就是直接按空格键出现的空格,但是这种只要替换就没有了,而且稍微调整下格式就能看出来,二是一些特殊字符出现的空格,这种用替换或者vba通常也能解决。但是同事发我这种我确实第一次见,于是我换了个思路,直接从文档本身入手,因为是xlsx文档,理所当然就先改成zip看了:

 打开sharedStrings.xml

到这里,结果就一目了然了,为什么搜不到呢?因为它这个值根本就是有空格的啊 ,excel当然不会认为它和你搜索的值是一个东西。

关键就在于<t xml:space="preserve">这个地方,正常单元格是没有xml:space="preserve"这个属性的,这是xml样式,但是它在excel里会表现为单元格有值情况下没有空格,而且这种没有空格是excel处理过的,只会在vlookup这类函数时暴露出来,相较于平时遇到的空格更难察觉。

这样一来解决办法就很简单了,有两种办法:

一是直接把单元格的值复制进记事本,然后批量替换掉带有这个空格前后的字符串,先换前面的"                 ,再换掉后面的",只要被替换的文本中没有这些特殊字符就可以这样:

 

 二是按照我之前的操作,把sharedStrings.xml复制出来,用记事本或者类似工具打开,把 xml:space="preserve"  【注意空格】替换掉,保存后把修改了的sharedStrings.xml扔回压缩包,把压缩包后缀名从zip改回xlsx即可:

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值