【问题标题】:Selecting data values based on time stamps from 2 data sets in Excel基于时间戳从 Excel 中的 2 个数据集中选择数据值
【发布时间】:2014-05-13 19:56:25
【问题描述】:

我正在处理两组数据:一组是简单的位置数据,另一组是天气数据。位置数据和天气数据都具有与之相关的时间戳和日期,尽管天气数据是每小时一次的,因为位置数据是单个日期的单个时间点。我希望做的是将位置数据与最近的定时天气记录相匹配,以便该位置将与气象站在该小时记录的众多变量相关联。我的数据大致如下:

位置数据

5/16/12   9:16AM     Easting Northing

天气数据

5/16/2012  8:00AM   Temperature  Wind  Humidity Radiation etc. etc.
5/16/2012  9:00AM   Temperature  Wind  Humidity Radiation etc. etc.
5/16/2012  10:00AM   Temperature  Wind  Humidity Radiation etc. etc.

在此示例中,该位置将与该日期的上午 9:00 天气数据相匹配,因为它最接近上午 9:00。此外,它还必须对 DATE 敏感,因此当值范围从 2012 年 5 月 1 日到 2012 年 5 月 31 日时,它必须从 2012 年 5 月 16 日中选择。此条目的最终输出如下所示:

2012 年 5 月 16 日上午 9:16 东向北向温度风湿辐射等(这些天气变量是从 2012 年 5 月 16 日上午 9:00 输入的天气数据中选择的)。

我知道这是很多信息,也许是一个加载的问题,但我已经挖掘了一段时间,似乎无法弄清楚。下面提供的链接有点接近,但我需要将每行中的所有值排列起来。

Find the Closest match in EXCEL based on multiple criteria

【问题讨论】:

    标签: excel vba timestamp match lookup


    【解决方案1】:

    这个例子可以更容易地在数据库中完成,但如果您需要在 Excel 中完成,则需要找到每个位置数据点的温度范围边界。然后,您将找出与您的位置数据点的时间相比,哪个边界点(上限或下限)具有最小的绝对时间差。然后,该时间就是您想要的天气数据点。

    您可以在 Excel 中使用 Array formulas 完成此操作。

    这是你如何做的:

       =MIN(IF(Weather_Date_Range<=Location_Data_Point_Date_Range,Weather_Date_Range,999999999999))
    

    要达到最大值,请将 MIN 替换为 MAX,=,999999999999 替换为 0

    然后,您将有两个公式比较(最小值和位置数据点日期)和(最大值和位置数据点日期)之间的绝对差。绝对差值最小者为距离位置数据点日期最近的天气观测。

    【讨论】:

      猜你喜欢
      • 2021-03-28
      • 2017-06-15
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 2021-08-02
      • 2020-09-20
      相关资源
      最近更新 更多