我有一个数据文件,我需要连续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))
答案 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)