连续返回三个连续值的日期

时间:2017-06-13 13:05:15

标签: excel count excel-formula

我有一个数据文件,我需要连续3天返回值(MaxT)大于或等于30(> = 30)的日期。

数据文件:

Date, MaxT
1872-03-01,31
1872-03-02,29
1872-03-03,37
1872-03-04,40
1872-03-05,22
1872-03-06,9
1872-03-07,28
1872-03-08,31
1872-03-09,35
1872-03-10,37
1872-03-11,44
1872-03-12,29
1872-03-13,35
1872-03-14,48
1872-03-15,33
1872-03-16,31
1872-03-17,38
1872-03-18,31
1872-03-19,42
1872-03-20,20
1872-03-21,24
1872-03-22,31

我试图使用下面的代码来解决这个问题,但我认为我甚至不在球场......

尝试过的代码:

=SUMPRODUCT(--(FREQUENCY(IF(B2:B23>=30,ROW(B2:B23)),IF(B2:B23>=30,ROW(B2:B23)))=3))

2 个答案:

答案 0 :(得分:1)

好吧,我得到了它的工作,但我不完全确定如果不将公式分成多个单元格,你将如何使它工作。

一个可能的解决方案是将一些公式写入背景中的工作表中,将公式的最后部分放在前面的表格中,并让它引用"隐藏"公式的一部分。

首先,我在列中写了数据......"日期"在A栏中," MaxT"在B栏中。

公式的第一部分写在单元格D2中:

=IF(B2>=30,B2,"")

公式的下一部分写在单元格E2中:

=COUNT(D2:D4)

公式的最后一部分写在单元格F2中:

=IF(E2=3,A2&","&A3&","&A4,"")

此公式的结果,在F列中,有7个单元格,其中写有三个日期,用逗号分隔。

请注意,您可以通过替换&符号之间的逗号,使任何字符或文本字符串分隔显示的三个日期,引用文本:

&","&)可以成为(&"anything you want"&

从这里开始,将公式自动填充到相关的单元格中。

<强> 编辑:

缩短代码的一种方法是将COUNT公式添加到最后一个IF语句中,如下所示:

=IF(COUNT(D2:D4)=3,A9&","&A10&","&A11,"")

我仍然认为第一个IF声明需要与公式的其余部分分开。

编辑#2

以下是单个单元格中的代码:

=IF(AND(B2>=30,B3>=30,B4>=30), A2&","&A3&","&A4,"")

这将显示位于A列中的三个日期,当前行和&amp;它下面的下两行。

此代码仍会根据您提供的数据生成7行结果。

答案 1 :(得分:1)

我假设您的数据文件包含2列DateMax T。如果用逗号分隔,则需要使用逗号Text to columns分隔的,将它们拆分为2个不同的列。

Date应位于Column A中的Max TColumn B中。{/ p>

在单元格C2中输入以下公式,然后向下拖动

=IF(AND(B2>=30,B3>=30,B4>=30),"Consecutive Range","")

enter image description here

如上所述,输出中将显示大于30的连续值范围的开始。然后,您可以使用其他excel函数的过滤器(如Index-Match)来获取相应的日期。希望这会有所帮助。