美文网首页
明明有空格,为何不能按空格分列

明明有空格,为何不能按空格分列

作者: Excel老崔 | 来源:发表于2019-11-05 22:19 被阅读0次

 前言

周末在开车的路上,同事电话问我一个EXCEL问题,今天拿出来聊一聊!

问:一列数据由卡号,姓名,基地组合,中间有空格,想按空格进行分列,就是不成功,是什么原因?

我简单询问了一下,这些表格是不是从其它系统导出来的,说是的,我说,你看到的空格可能并不是真的空格,所以按空格不能分列.

那怎么办呢,我说:我虽然不知道它是什么,但是也不需要知道,你只要把这个看一起来像空格的字符,复制一下,直接粘贴到分隔符中的其他字符里,就可以了.

果然成功!

 多问一个为什么

问题虽然解决了,但老崔还是抱着问题就是财富的态度,继续深挖一下,这个像空格的字符到底是什么呢?

我们来分析一下:

我们在B1单元格输入公式

=FIND(" ",A1,1)

注意:引号中间有一个空格,意思是在A1单元格中查找空格字符,并返回空格字符所在的位置,结果返回一个错误值,说明A1中并不包含空格字符,你也可以用CTRL+F查找命令来验证,是否能找到空格。这里只是借题发挥一下,帮大家多掌握几个函数!

那么我们用MID函数将这个字符取出来,在B1单元格中输入公式

=MID(A1,8,1)

意思是将A1单元格的第8个字符取出来,结果为空白,看不到是什么字符.

接着在C1单元格输入

=CODE(B1)

意思是返回B1单元格字符的ASCII码,结果为63,这说明这个看不见的字符的ASCII码为63

我们可以百度ASCII码对照表,可以看到ASCII码为63的字符为问号

那么既然是问号,为何不显示问号呢?

我们再来比较一下,在B2单元格输入”?”,下拉C1的公式到C2,发现”?”的CODE也为63,我们在B3单元格输入

=B1=B2

返回FALSE,说明B1和B2两个单元格的值并不相等.也就是说B1单元格的值并和问号并不等同.

 我们知道了问号的代码为63,那么空格的代码是多少呢?从上面的对照表可以清楚地知道,空格的代码为32,你也可以在单元格中输入一个空格,如在B4单元格输入空格,在C4输入公式,返回值果然为32

那么这个符号到底是什么?继续追问,刚才我们在输入CODE函数时,发现还有一个unicode函数,我们来试试.

在D1单元格输入

=Unicode(b1),并且下拉公式到D4

发现,除刚才的空白字符的UNICODE和CODE函数的返回值不同,其他都是相同的。

继续百度UNICODE 160的字符是个啥东东?

根据上面的对照表,我们发现UNICODE 160的字符为不可见字符,标注为NBSP,无中断空格,英语全称为: Non-breaking space

原来这是网页中表示空格的一种方法,和普通的空格还是不一样的。所以从系统中导出的东西,会出现一些字符无法识别的情况

 常用的文本函数和字符的ASCII码

文本函数

自定义序列-快速生成26个英文字母

常见字符的ASCII代码,一定要知道

相关文章

网友评论

      本文标题:明明有空格,为何不能按空格分列

      本文链接:https://www.haomeiwen.com/subject/lqrcyctx.html