我在工作中有一组数据,我需要根据每日价值进行分析和总结。每个日期我有48个值;每半个小时一次。
我目前已经设置了sumif和countif-system来计算平均值,但是我需要一个解决方案来显示仅一个日期的数据,因此我可以评估数据是否完整(供应商已知有传感器中缺少数据)
举个例子,这就是我的数据。这次我只有6000行。它们不时出现在块中,所以我永远不知道我会得到多大的数据集。最后一个是约2200行
11-03-2016 11:30:00:000 13,3 51,6 7,85
11-03-2016 12:00:00:000 14,9 51,6 7,85
11-03-2016 12:30:00:000 13,9 51,6 7,86
11-03-2016 13:00:00:000 14,9 51,7 7,87
11-03-2016 13:30:00:000 14,7 52 7,87
11-03-2016 14:00:00:000 14,7 52 7,88
11-03-2016 14:30:00:000 0,1 52,1 7,89
11-03-2016 15:00:00:000 0,1 52,2 7,89
11-03-2016 15:30:00:000 14,8 52,1 7,9
11-03-2016 16:00:00:000 14,8 52 7,9
11-03-2016 16:30:00:000 13,3 52 7,91
11-03-2016 17:00:00:000 12,8 51,9 7,92
11-03-2016 17:30:00:000 7,9 52 7,92
日期格式为“一般”,我似乎无法将其更改为任何类型的日期或时间格式。
现在我在日期左边有一列读
=INT(LEFT("Range",10))
从带有日期的文本格式单元格中提取日期。 理想情况下,我想要一个显示小时数的单元格,但不能完全确定那个小时。
我想要的是VBA或其他代码,我有一个单元格,我输入要分析的日期值,然后运行宏,并且只分别显示那48个数据点。
我知道可以将其设置为表格并过滤数据,但这非常耗时。
如果可以在不使用宏的情况下完成(即使用类似vlookup的东西),我会接受建议,但我自己也想不出任何解决方案。
答案 0 :(得分:0)
使用以下公式提取时间:
=MID(A1,12,5)
这将导致" hh:mm"。将5替换为8以提取秒数。
要将日期文本可靠地转换为日期格式,您可以使用以下公式:
=DATE(MID(A1,7,4),MID(A1,4,2),MID(A1,1,2))
关于一个日期的分析:假设单元格F1是您的日期输入。创建一个如下表格(假设时间列是A列)
TIME DATETIME
00:00:00:000 =A2&" "&$F$1
00:30:00:000 =A3&" "&$F$1
... ...
如果以正确的格式在F1中输入日期作为文本,则DateTime列将与数据集中的日期完全相同,您可以使用简单的Sumif()来完成任务。
编辑:您还可以查看新推出的PowerQuery Addin。它本身随Excel 2013和2016一起提供,您可以免费下载Excel 2010.它是从非结构化数据集中重复提取干净值的绝佳方式。见这里:Introduction to PowerQuery
编辑2 :如果您真的只是想在数据集中找到差距,请尝试以下方法:选择一列并应用以下自定义日期格式:
dd-mm-yyyy hh:mm:ss":000"
然后在第一行输入值 01/01/2016 00:00:00 ,在第二行输入 01/01/2016 00:30:00 。尽量拉下来。在其旁边的列中执行Vlookup并过滤#N / A错误的结果。现在,您的数据存在差距。 (也许你需要先将lookup-column转换为文本格式)