首页 >

五分钟搞定删除excel单元格空格的问题

专题|excel五分钟搞定删除excel单元格空格的问题
excel
专题-excel
2017直播源码,vscode插件出现未知错误,ubuntu定时弹窗,怎样查看Tomcat挂了,爬虫服务 价格,php源码怎么看,什么是seo优化外推,仿淘宝B2C多用户商城网站源码,dede主页模板lzw
strncmp 源码,vscode跟踪代码快捷键,ubuntu安装mcr,tomcat默认家目录,爬虫过反扒,php 高并发架构,淘宝联盟seo优化怎么做,签到网站插件lzw
手机 新闻 .net 源码,ubuntu封掉22端口,tomcat中怎么读取文件,爬虫中国裁判,php引号嵌套,黄冈工程机械seo推广怎么做lzw
聊一下数据清理整理过程中比较常见的一个问题:删除单元格中的空格。这个问题看似简单,但其实有点儿复杂。它大致可以分为四种类型的小问题,接下来,咱们由浅入深,一个一个聊。

1、 正经的空格删除

先说第1种最简单的情况。

下图例,A:B是数据源,A列是人名,B列是成绩。由于A列人名的前后包含了大量空格,导致E列的VLOOKUP函数返回错误值。

五分钟搞定删除excel单元格空格的问题

对于这种情况,直接查找替换,将空格替换为空白即可。

五分钟搞定删除excel单元格空格的问题

需要注意的是,这里的空格,最好是从单元格中复制一个,而不是手动输入。后文你会了解到,空格有几十上百种风情,而空格键键入的只是其中普通的一种~

2、身份证中的空格

说一种比较特殊的情况,删除身份证中的空格。

下图例,A列身份证号中存在空格,需要删除。

五分钟搞定删除excel单元格空格的问题

有朋友第一反应是查找替换,但是由于身份证属于长文本,替换后会被转换为数值,而单元格有效保存的数值最大长度是15位,这就导致18位的身份证的后3位数值会被转换为0.

五分钟搞定删除excel单元格空格的问题

常用的解法方法有两个,一个是SUBSTITUTE函数,文本函数返回的结果必然是文本,所以不会导致身份证号变形:

=SUBSTITUTE(A2,” “,””)

另外一个还是查找替换,只不过增加了一点前戏,用格式刷强制单元格转换为文本格式。

五分钟搞定删除excel单元格空格的问题

3、去除首尾空格

有时候我们不需要把数据中全部的空格都删除掉,而需要删除首尾的全部空格,中间连续的空格保留一个,对此Excel提供了一个专门的函数:TRIM。

下图例,A列的数据包含了大量的空格,需要转换为B列的样式。

五分钟搞定删除excel单元格空格的问题

B2单元格输入以下公式即可:

=TRIM(A2)

4、删除系统导出的空格

上文我们说过,空格有成百上千种,空格键键入的只是其中普通的一种。

你在A2单元格输入公式:

=UNICHAR(ROW(A1))

将它填充到A1:A10000区域,就可以见到各种各样的字符图形,牛啊羊啊飞机啊大炮啊轮船啊汉堡啊等等,也有各种各样的可见不可见的空格。

飞机大炮要啥有啥,

如果你有闲,也可以用这些图形作画儿…

五分钟搞定删除excel单元格空格的问题

从系统导出的数据,有时候包含的空格,就不是正经的空格键生下来的。

对于这种,如果是可见的,你可以从中复制一个,然后查找替换。

如果查找替换失败了,可以换用TRIM+CLEAN的函数组合:

=CLEAN(TRIM(A1))

CLEAN,在英语中是清洁打扫的意思,它可以清理掉一部分不可见的空格。

但不管是查找替换,还是CLEAN函数,都是Excel近古时代开发出的功能了,这就导致它们解决不了很多新生代的空格。

比如,著名的零宽空白8203。8203是它的UNICODE编码,如果你的Excel版本是2019及以上,可以使用UNICHAR(8203)返回该字符。

零宽空白8203就像一个幽灵,完全不可见,不但Excel不可见,数据复制到写字板、Word等软件也不可见,但它真实存在的不要不要的,一样会造成VLOOKUP等条件查询或统计函数无法正确计算。

下图例,使用LEN函数,可以发现该函数返回的字符串长度和肉眼所见完全不同,但在编辑栏里你又发现不了任何多余的赘肉字。

五分钟搞定删除excel单元格空格的问题

对于这种情况,由于不可见字符通常出现在数据的首尾,可以使用LEFT函数查找首个字符是否返回空白。

五分钟搞定删除excel单元格空格的问题

如果LEFT函数返回结果为空白,则使用SUBSTITUTE函数将它替换即可。

=SUBSTITUTE(A2,LEFT($A$2),””)

五分钟搞定删除excel单元格空格的问题

同理,如果空格在尾部,可以使用RIGHT函数:

=SUBSTITUTE(A2,RIGHT($A$2),””)

或者管它是头是尾是左是右是男是女,二元对立多烦啊?统统一刀切了!

代码看不全可以左右拖动..

=SUBSTITUTE(SUBSTITUTE(A2,RIGHT($A$2),””),LEFT($A$2),””)

五分钟搞定删除excel单元格空格的问题


  • 暂无相关文章
  • Posted in 未分类