我有一个包含直接从数据库下载的数据的工作表。它包含所有文本,包括文本格式日期和收入。我想将1列从文本转换为数字,将1列文本(日期)转换为日期格式,以便我可以检查年份和月份以使用SUMIFS()
函数。
附加信息:正如您在附近图片中看到的那样,在关闭日期列中,日期全部采用30.11.2016格式,用点连接,并且位于 dd.mm.yyyy 表达,但都在文本中。
在金额列中,收入数实际上是欧洲表达式,50000,00实际上意味着50000.00,而50000,00是文本格式。
目前,我使用LEFT()
,MID()
,RIGHT()
函数提取年,月,日数字符串,然后将DATE()函数转换为日期。
对于Amount列号,我只是使用TexttoColumns来进行手动转换工作。
有没有办法在VBA
中完成这些工作?有人可以帮我解决这些问题吗?我有一些基本的编程经验,但我以前从未将自己暴露给VBA
。
数以百万计的谢谢!我真的很感激!
答案 0 :(得分:1)
您可以使用Power Query。无需编码。启动查询并单击查询编辑器中的功能区图标以转换数据,例如用点替换逗号,将类型从文本更改为数字等。每个操作将使用M语言记录为步骤。如果需要,可以操纵M代码,但对于这个简单的东西,你不需要。
当源数据发生变化时,可以刷新查询。
Power Query是Microsoft for Excel 2010和2013的免费插件,它作为Get& amp;存储在Excel 2016中。变换。
答案 1 :(得分:0)
我只想使用查找和替换功能。突出显示日期列,找到“。”并替换为“/”。那会给你一些约会。您可以使用“,”执行相同操作,并使用“。”替换。 - 如果它仍然显示为文本,那么您可以从那里转换为数字。 (无论如何,VBA对你来说将是更难的工作)