【问题标题】:Maximum values per day from data with different dates不同日期数据中每天的最大值
【发布时间】:2015-03-17 09:11:51
【问题描述】:

我有不同日期不同时间采集的数据,例如:

dateTimeRead(YYYY-MM-DD HH-mm-ss)   rain_value(mm)  air_pressure(hPa)
1/2/2015 0:00                       0               941.5675
1/2/2015 0:15                       0               941.4625
1/2/2015 0:30                       0               941.3
1/2/2015 0:45                       0               941.2725
1/2/2015 1:00                       0.2             941.12
1/2/2015 1:15                       0               940.8625
1/2/2015 1:30                       0               940.7575
1/2/2015 1:45                       0               940.6075
1/2/2015 2:00                       0               940.545
1/2/2015 2:15                       0               940.27
1/2/2015 2:30                       0               940.2125
1/2/2015 16:15                      0               940.625
1/2/2015 16:30                      0               940.69
1/2/2015 16:45                      0               940.6175
1/2/2015 17:00                      0               940.635
1/2/2015 19:00                      0               941.9975
1/2/2015 20:45                      0               942.7925
1/2/2015 21:00                      0               942.745
1/2/2015 21:15                      0               942.6325
1/2/2015 21:30                      0               942.735
1/2/2015 21:45                      0               942.765
1/2/2015 22:00                      0               7/30/1902
1/3/2015 2:30                       0               941.1275
1/3/2015 2:45                       0               941.125
1/3/2015 3:00                       0               940.955
1/3/2015 3:15                       0               941.035  

有些日期缺少时间戳。

如何从这些读数中提取rain_value(mm) 的最大值?

【问题讨论】:

    标签: excel excel-formula max pivot-table worksheet-function


    【解决方案1】:

    有一个相当标准的 数组公式 样式来提供伪 MAXIF 函数,但我更喜欢使用 INDEX 并将其作为标准公式输入。

          

    随着F3中要确定的日期,G3中的公式是,

    =MAX(INDEX(($A$2:$A$999>=$F3)*($A$2:$A$999<(F3+1))*$B$2:$B$999, , ))
    

    同一事物的 CSE 数组公式类似于,

    =MAX(IF($A$2:$A$999>=$F3, IF($A$2:$A$999<$F3+1, $B$2:$B$900)))
    

    数组公式需要用Ctrl+Shift+Enter↵来完成。

    【讨论】:

    • 我猜如果你把它改成 =MAX(INDEX(($A$2:$A$999>=$F3)*($A$2:$A$999
    • @TomSharpe - 是的,Excel 将 day 视为数字 1。时间是一天的小数部分。如果您在 F3 中有昨天,在 F4 中有明天,那么最大值将是昨天和今天的全部(例如,大于昨天开始的午夜和小于明天开始的午夜)。
    • 大家好,非常感谢您的帮助。我还有一个问题。如果我不想获得最大值怎么办?我需要的是每天 b2 列中 30 分钟的最大行数。例如,对于 2015 年 1 月 2 日的 30 分钟最大总和为 0.2(a4、a5 a6 的总和)。提前谢谢各位! :D
    • @GreylandAgno - 如果您对附加信息的请求可以被视为主题和长度短,我建议您编辑您的原始问题以适应。如果添加修订公式的组合,您自己用(加上)新条件解决问题的努力使其不值得编辑,请随时使用示例数据、公式、原始努力和预期结果开始一个新问题。
    • 当然是吉普车。谢谢! :D 生病只是开始一个新的职位。再次感谢!
    【解决方案2】:

    数组公式可能不适合您的特定要求,因为您可能有很多读数。相反,我建议使用数据透视表,解析日期/时间条目(文本到列,固定宽度),date 用于 ROWS,rain_value(mm) 最大值用于 VALUES。

    【讨论】:

    • 或使用 =IF(ISBLANK(A2),"",DATE(YEAR(A2),MONTH(A2),DAY(A2) 等公式为数据透视表设置新的日期列))
    • 好点,但我想你可能会争论很多事情,你是否需要确切知道日期时间是如何存储的。
    猜你喜欢
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多