计算值大于X的总时间

时间:2018-11-29 06:38:08

标签: excel excel-formula

我有一个包含日期,时间和温度的表。我正在尝试找到一种方法来轻松获得表格的简短版本,例如,如果温度高于6.5,它将为我提供日期和总时间。

enter image description here

任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:0)

我说得对,但没有总时间超过温度。

我在C1中做了辅助细胞(超过您要在表上显示的温度) 然后在A2上放

=IFERROR(INDEX(E$2:E12;SMALL(IF(G$2:G12>C$1;ROW(E$2:E12)-MIN(ROW(E$2:E12))+1);ROWS($A$2:A2)));"")

插入为数组公式CTRL + SHIFT + ENTER,然后可以将其向下拖动至所需位置 在B列(B2)

=IFERROR(INDEX(F$2:F12;SMALL(IF(G$2:G12>C$1;ROW(F$2:F12)-MIN(ROW(F$2:F12))+1);ROWS($B$2:B2)));"")

还以数组CTRL + SHIFT + ENTER的形式插入

应该看起来像这样 enter image description here

根据需要调整范围

答案 1 :(得分:0)

您可以使用偏移数组来执行此操作,以找到原始数组(G2:G14)中的温度<= 6.5和移位数组(G3:G15)中的温度> 6.5的时间,然后将其减去从原始数组中的温度> 6.5且移位数组中的温度为<= 6.5开始。

=INDEX(F2:F14,MATCH(1,(G2:G14>6.5)*(G3:G15<=6.5),0))-INDEX(F3:F15,MATCH(1,(G2:G14<=6.5)*(G3:G15>6.5),0))

必须使用 Ctrl Shift Enter

作为数组公式输入

非阵列版本:

=INDEX(F2:F14,MATCH(1,INDEX((G2:G14>6.5)*(G3:G15<=6.5),0),0))-INDEX(F3:F15,MATCH(1,INDEX((G2:G14<=6.5)*(G3:G15>6.5),0),0))

但是@Dominique是正确的,如果在6.5度以上只有一个点,您可能会争辩说,在6.5之上花费的时间(而不是零)至少是10分钟,可能是20分钟,因为时间点间隔为10分钟以及温度似乎先升高后降低的事实。

=INDEX(E3:E15,MATCH(1,(G2:G14<=6.5)*(G3:G15>6.5),0))

=INDEX(E3:E15,MATCH(1,INDEX((G2:G14<=6.5)*(G3:G15>6.5),0),0))

日期。

enter image description here