我必须计算相应时间范围的平均消耗量(而表格还包含其他数据)。 我有一个带有日期和时间列的表(欧洲格式)和一个偶尔有计数器状态的列(从带有= 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函数,但这似乎是我的想法。 任何人都有解决这一挑战的方法吗? 感谢您的耐心和努力。
三木
答案 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)
看起来像这样
然而,有一个有用的讨论,找到带有数字条目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中并被拉下来,这是找到答案的直接方式。
我知道自己喜欢什么。