一日一技Excel篇如何处理Excel的

一日一技|Excel篇|如何处理Excel的自动日期转换问题

绝大多数生物学的小伙伴在录实验数据时可能都会遇到一个问题,那就是在录入和日期类似的数据时会默认把你的内容给改成日期格式了!!

Excel录入编号

当然很多小伙伴会说那是你不会用Excel,打开Excel的时候首先就把单元格格式设置为「文本」格式难道不是基础操作吗?确实,在Excel中做数据录入的时候,一般要先把单元格格式设置为「文本」再进行输入,注意这个顺序是先设置格式,然后再输入,可不能反过来,不信我们试试:

调格式的时候的问题

诶?!怎么变成莫名其妙的数值了?这是因为Excel在把「日期格式」转换为「文本格式」的时候,会把日期转为与年1月1日的差值计算,很显然这并不是我们想要的。什么?你问我能不能关闭这个自动转换。

image-

很显然,微软并不让你关闭,当你前往微软的帮助文档时,它会告诉你:

image-

这也引出了另外一个问题,就是很多时候并不是我们不会设置单元格格式,而是别人给我们的就是这样的格式,你可能又会问,难道别人不会设置单元格格式吗?我们试想一下,你在录数据的时候录入的都是蛋白质或者基因名称:

xxx1xas2xqw3

这里都是我乱编的啊,此时Excel并不会报错对吧,因为这就是正儿八经的文本格式,但是冷不丁我们需要录入一个SEPT2的基因,诶,前面都没问题,这里肯定不可能出问题吧,你可能连电脑屏幕都没看,优雅地继续录入其他的数据了。。。到了需要分析的时候,诶,为什么我的基因里会有/09/02这个基因?

还有些时候你的数据并不一定是你自己录的,还可能是各种其他软件导出的Excel文件

这种问题并不是你不懂得设置格式,而是因为默认导致的错误,因此也是我们本期主要要解决的问题。

方法

首先如果这个数据是我们需要自己从零开始录入的时候,那最简单的办法就是**「设置单元格格式为文本」**。

如果数据来自于他人给我们的文本格式的数据,例如csv、txt格式的数据,我们别直接复制文本内容,而是在Excel的菜单栏里选择「数据」→「获取外部数据」→「从文本」,然后弹框会问你分隔符号、文件格式等问题,「分隔符号」根据文件格式来确定,一般csv文件是逗号分隔,txt文件一般是制表符,文件格式其实指的是编码,如果预览框里出现了中文乱码的情况依需选择utf-8或者GBK等格式。接下来就是关键了,把你会出现日期类格式的列设为文本格式,然后点击完成即可。

image-08191612

更为常见的情况是我们从师兄师姐师弟师妹老板那里拿来的数据或者其他软件导出的就是xlsx格式的,那我们怎么办呢?这种情况相对来说麻烦很多,以前我写论文的时候用「数据分列」的方法可以直接转换完毕,不用过的步骤。但现在这个方法貌似失效了(我也不知道为啥微软做不到禁用自动转换还把本可以使用的解决方案给毙了)。

此时只能用笨方法来解决了,根据情况,我们拿到的数据一般一列都是一种结构化的数据,也就是说不大可能会出现一列数据里会混用1-2和SEPT2这种可能。因此思路是我们可以把Excel自动转换的日期给拆分为年、月、日三列(并把每一列都转换为文本),然后再把月和日这两列的数据恢复成原来的格式,最后再合并。

具体做法是:选中你想要转换的列→点击「数据」栏的「分列」,这里分隔符需要选择「其他」并输入/(输入什么具体根据你的Excel单元格里显示的内容来),然后点击下一步,把下面预览框的所有列全选,然后格式里设置为文本:

导入文本数据

接下来,我们需要把第二列和第三列的数据合并为1-2类型的,这里我就偷懒,使用Excel的快速填充功能:在D列的第一格输入1-2,然后再下方单元格按下?(ctrl)+E就可以自动填充啦。

利用自动填充功能组合列数据

至于如果是SEPT2这种格式的,还需要一步把9转换为SEPT,相信到这里大家都可以找到解决的办法了,我就不一一演示了,只是提供一个思路。

结语

说实话,写到这里的时候我是打算放弃不写了,原本以为只需要一个简单的「数据分列」结果还失效了( ̄O ̄;)。Excel这个「自作主张」的操作确实造成了很多麻烦,有研究者还发过论文有20%的生物数据因为Excel的自动转换导致了错误,所以我们自己在处理数据的时候还是需要非常谨慎,避免这些情况的出现。写这篇文章的主要目的还是给大家提一个醒,在录入数据的时候先构思好我的数据导致是什么结构的,提前设置好格式。但是话说回来,既然都构思好了数据结构,此时用数据库不香吗?

如果你觉得文章还不错,请大家点赞、分享、在看下,因为这将是我持续输出更多优质文章的最强动力!

预览时标签不可点收录于话题#个上一篇下一篇


转载请注明:http://www.bjgongshangzhuce.com/jyzl/8995.html


当前时间: