我想要输出的列是每日总和(kWh)、每日平均值、每日峰值或最大值以及峰值时间。总和、平均值和最大值的公式很简单,但我很难将它们滚动到下一个 24 小时每日数据块
对于使用千瓦时,我想显示最大值和峰值时间(因此最大值并显示最大值左侧的值),同样直接适用于 1 天范围,但获取公式来理解天数范围的变化比较棘手,指数?
一年的原始每小时数据为 8760 行,12 月为 744 行。
我可以旋转基本数据块,但更愿意汇总关键数据
希望这是有意义的
原始数据样本
Month Date Time Usage(kWh)
December 12/31/2016 11:00 PM 0.74
December 12/31/2016 10:00 PM 1.17
December 12/31/2016 9:00 PM 0.75
December 12/31/2016 8:00 PM 0.85
December 12/31/2016 7:00 PM 0.96
December 12/31/2016 6:00 PM 1.08
December 12/31/2016 5:00 PM 1.37
December 12/31/2016 4:00 PM 3.44
December 12/31/2016 3:00 PM 5.96
December 12/31/2016 2:00 PM 4.45
December 12/31/2016 1:00 PM 5.08
December 12/31/2016 12:00 PM 3.71
December 12/31/2016 11:00 AM 2.55
December 12/31/2016 10:00 AM 1.60
December 12/31/2016 9:00 AM 1.07
December 12/31/2016 8:00 AM 1.47
December 12/31/2016 7:00 AM 3.94
December 12/31/2016 6:00 AM 1.28
December 12/31/2016 5:00 AM 0.96
December 12/31/2016 4:00 AM 1.01
December 12/31/2016 3:00 AM 1.44
December 12/31/2016 2:00 AM 1.01
December 12/31/2016 1:00 AM 1.02
December 12/31/2016 12:00 AM 1.17
December 12/30/2016 11:00 PM 1.78
December 12/30/2016 10:00 PM 2.25
December 12/30/2016 9:00 PM 2.15
December 12/30/2016 8:00 PM 4.05
December 12/30/2016 7:00 PM 2.91
December 12/30/2016 6:00 PM 2.26
December 12/30/2016 5:00 PM 3.69
December 12/30/2016 4:00 PM 4.39
December 12/30/2016 3:00 PM 2.71
December 12/30/2016 2:00 PM 8.07
答案1
使用 Sumifs 并将日期作为条件之一。如果您有 Office 365 版本的 Excel,则可以使用新函数 Maxifs 和 AverageIfs 并将日期指定为条件之一。如果您没有 Office 365,则可以使用 Sumproduct,它可以很好地完成工作,但在处理大型数据集时速度会稍慢一些。
是的,Index 是正确的选择。您可以根据日期的第一个匹配项到日期的最后一个匹配项来构建当天的索引范围。然后将该索引嵌套在 Match 公式中。
=MAX(INDEX(D:D,MATCH(F2,B:B,0)):INDEX(D:D,MATCH(F2-1,B:B,-1)-1))
如果您要查找的日期位于单元格 F2 中,就像此屏幕截图中一样
如果您能让它发挥作用,当然您也可以使用 1 中的公式方法。)
答案2
我还想建议您最好将数据导入到 Access 中,然后就可以使用 SQL。
select date,min(kwh),max(kwh), ... from <table name>
order by date
group by date
这可以满足您的大部分需求。这些事情的日期/时间有点棘手,但可以做到。