excel里数字的诡异,求助。。。

  • e
    eternaltm
    银行下载的日期是文本类的,我处理成数字并用公式=DATE(LEFT(G5,4),MID(G5,5,2),RIGHT(G5,2))来转换成日期。。。。
    结果显示错误,如果我自己输入同样数字,公式就起效。

    查看了格式,都是数值,为啥一个可以一个不可以?
    不可以的那个数字如果:1. 前面输入',先变成文本;2. 再删除',变为数值格式,公式就立马可以了。。。。

    0029.jpg
  • e
    eternaltm
    现在可以肯定两个数字格式是不一样的

    不过我找不到解决办法(格式刷,清除格式等都弄了,不管用),问了周边几个同事,都没有人找到缘由
    工作簿1.xlsx(9.61 KB)
  • 洞里火车
    先分列处理下
  • 斗牛士
    直接单元格设置日期格式不就好了? iOS fly ~
  • e
    eternaltm
    第一反应就是这样处理,没有效果。。。
  • l
    likeG4
    同意三楼先分列,怎么最近这么多问excel的贴
  • a
    ayang
    银行的数据*1
  • c
    cameozhang
    把日期这列复制到文本文件里,这样把格式就去掉了。

    再从文本文件复制到excel里一个文本格式列里
  • 斗牛士
    而且日期转换数值不是这样的,例如2020/04/27转换成数值是43949 iOS fly ~
  • e
    eternaltm
    分列可以搞定
    但为什么两个数字会不一样?

    分列过程了做了什么处理让变成真正的数字?

    我的感觉是之前出问题就出在你设置为数值,但实际上excel还是认为是文本。。。。然后通过分列删除掉隐藏的东西才变成真正的数值?
  • i
    imroy
    " 20200427"
    复制到文本文件里看一下啊,把多余的用空替换掉,再复制回来
  • 毛毛卷
    我记得有一种情况是设置格式前填数据和填完数据之后设置格式是有区别的
  • e
    eternaltm
    果真。拷到文本文件就成这个了

    20200427
    " 20200427"

    那么为啥excel表里显示不了双引号和前面这么多空格?
  • 酶川瑞酷
    原始的那列用“分列”功能就行了HiPDA·NG
  • o
    otnemem
    加上value函数转化为数字。
    =DATE(value(LEFT(G5,4)),value(MID(G5,5,2)),value(RIGHT(G5,2)))来转换成
  • m
    maxrim
    DATE(LEFT(clean(G5),4),MID(clean(G5),5,2),RIGHT(clean(G5),2))
  • w
    wuyanzhicheng
    提供一个建议 找个空白单元格 输入1 复制 然后选中所有日期的单元格 右键选择性粘贴 乘 。
    这样处理一下再试试。
  • 刀歌
    我刚也试了,是这个情况,奇怪为什么不显示出来。
  • n
    neoleix
    有个TAB字符在最开始. 先用TRIM处理一下.
  • E
    Elliont
    excel你们都用成花了。。。
  • g
    goldeneyey
    银行的数据前面有空格 =DATE(MID(B4,2,4),MID(B4,6,2),RIGHT(B4,2))就可以了。
  • c
    chang20002
    回复8#cameozhang

    同意,这样是最简单统一格式的方法
  • x
    xhxdbxz
    肯定是不可见字符导致的,用len()看一下字符长度,然后年月日都用mid()就行了呗~
  • c
    clouday
    遇到过 原来格式有问题 加几个辅助列可以处理 几分钟的事情 但是这种问题很困扰

    就是从这种地方 我发现大多数人的办公水平不高 格式不知道意思 更别说统一格式 遇到问题也不知道怎么处理 最常见的日期 n多人写成xxxx.xx.xx 让人无语
  • B
    Beekay
    是带空格的,把光标放最前面退格,就可以正确计算了,复制到TXT也可以看到
    显示计算步骤的时候,第一步计算完是202,少一位的
  • 1
    1192
    按下面的试试:
    1.left(),right()这些函数是用来处理字符串,即文本的,所以没有必要将G5搞成数值格式。
    2.之所以出错,上面老哥已经说了,G6的内容是" 20200427",没有显示出来。用len()可以看到G5和G6的字符串长度不同。
    3.先使用clean(G6) 清除非打印字符 ,再使用 date和left函数就行了。
  • 我们的老天爷
    回复13#eternaltm

    出现这种情况,你可以修改一下你 C4 的公式:

    之前:=DATE(LEFT(B4,4),MID(B4,5,2),RIGHT(B4,2))

    改为:=DATE(LEFT(RIGHT(B4,8),4),MID(RIGHT(B4,8),5,2),RIGHT(RIGHT(B4,8),2))

    其他的不用任何修改,也不用粘贴到文本里面什么的,直接就可以得到日期了
  • m
    mumoo
    左边是数字格式,右边是日期格式不是一种格式,同样是日期格式应该是从1900年开始算的天数,所以20180101这样的格式要是日期,那是好多年以后了
  • c
    chaos
    转存为csv,然后当成文本处理一下,把空格引号之类的去掉 iOS fly ~
  • 云端风筝
    我同意 先分列 分成 2020 04 27 然后用&"/"&来连接变成日期.
  • 我们的老天爷
    回复30#云端风筝

    不用那么麻烦,看我上面写的公式,直接就可以搞定了
  • e
    eternaltm
    清楚了,谢谢各位。

    分列,clean,或者拷贝到文本文件里面再处理。。。

    其实就是excel表不显示某些隐藏字符造成的困惑(所见非所得)
  • 云端风筝
    回复31#我们的老天爷


    没事儿了,谢谢.哈哈
  • 我们的老天爷
    用我写的公式,不用搞那些,直接可以得到你要的结果。工作簿1.xlsx(10.15 KB)
  • a
    alzeng
    不用那么复杂:

    1. =TEXT(CLEAN(B4),"0000-00-00")
    复制代码
    如果不想是文本,加个Value函数:
    1. =VALUE(TEXT(CLEAN(B4),"0000-00-00"))
    复制代码