Excel难度应该很容易,计算列中日期时间的两个非缺失条目之间的平均值

时间:2014-12-17 16:46:16

标签: excel excel-formula

我必须计算相应时间范围的平均消耗量(而表格还包含其他数据)。 我有一个带有日期和时间列的表(欧洲格式)和一个偶尔有计数器状态的列(从带有= IF的文本列中取出(ISNUMBER(SEARCH(“count.state。”; E1)); MID(E1; FIND( “count.state。”; E1)12; 5); “”)。 我想自动计算平均消费,而不必手动选择范围,编辑公式,然后复制等。

    A       B       F       G
1   2.12.   23:00   10765   =INDEX/MATCH formula should use the same data as 3 rows below 
2   3.12.   8:00    ""      =INDEX/MATCH formula should use the same data as 2 rows below 
3   3.12.   11:00   ""      =INDEX/MATCH formula should use the same data as in the row below 
4   3.12.   18:00   10769   =(10769 - 10765) / (3.12.18:00 - 2.12.23:00)
5   3.12.   23:00   ""      =INDEX/MATCH formula should use the same data as 5 rows below 
6   4.12.   11:00   ""      =INDEX/MATCH formula should use the same data as 4 rows below 
7   4.12.   15:00   ""      =INDEX/MATCH formula should use the same data as 3 rows below 
8   4.12.   18:00   ""      =INDEX/MATCH formula should use the same data as 2 rows below 
9   4.12.   23:00   ""      =INDEX/MATCH formula should use the same data as in the row below 
10  5.12.   18:00   10786   =(10786 - 10769) / (5.12.18:00 - 3.12.23:00)

我正在学习使用Excel函数,但这似乎是我的想法。 任何人都有解决这一挑战的方法吗? 感谢您的耐心和努力。

三木

1 个答案:

答案 0 :(得分:0)

好吧也许不是你正在寻找的优雅解决方案,但它可以完成工作。

这个想法只是使用辅助列来复制日期/时间和计数器读数,从包含最后一个计数器的行读取所有行,直到下一个计数器读数之前的那个

=IF(ISNUMBER(F2),F2,H1) for the counter starting in H2

=IF(ISNUMBER(F2),G2,I1) for the date/time starting in I2

然后当你到达包含下一个计数器读数的行时,进行计算。

我的专栏G包含日期&时间放在一起使用

=DATEVALUE(A2&"2014")+B2 starting in G2.

由于我的语言环境,我冒昧地将日期中的点改为斜杠。

然后实际计算是

=IF(AND(ISNUMBER(F2),ISNUMBER(I1)),(H2-H1)/(I2-I1),"")

要将结果复制回每个时间段,我已从单元格K11的底部开始并向上拉出公式

=IF(ISNUMBER(J11),J11,K12)

看起来像这样

enter image description here

然而,有一个有用的讨论,找到带有数字条目here的第一个和最后一个单元格,这将导致公式

=IFERROR((INDEX(F2:F$11,MATCH(1,INDEX(ISNUMBER(F2:F$11)+0,0),0))-(INDEX(F$1:F1,MATCH(9E+307,F$1:F1,1))))/(INDEX(G2:G$11,MATCH(1,INDEX(ISNUMBER($F2:F$11)+0,0),0))-(INDEX(G$1:G1,MATCH(9E+307,F$1:F1,1)))),"")

将被放置在H2中并被拉下来,这是找到答案的直接方式。

我知道自己喜欢什么。