公式来sorting几个月 – 使用帮手列
我正在尝试使用帮助列来sorting基于一些条件(最低温度/最高温度和允许的最高温度列)表,但我不能得到它的工作,它不必使用帮手列,但这是我试图做到这一点。
我想要得到的是红色的预期结果
我的l2(拖下来)是
=COUNTIFS(B$2:B$11,"<="&$B2)
我的J2(拖下来)是
= INDEX($ B $ 2:$ B $ 10 MATCH(ROWS($ I $ 2:I 2),$ I $ 2:$ I $ 8,0))
试图做
=COUNTIFS(B$2:B$11,"<="&$B2,B$2:B$11,"<="&$G$3)
我想要考虑g3,g4,g5中的值。有序列表中的第一项(月)(预期结果)是小于或等于g3的项目(从小到大)。 列表中的第二项是> g3以上但小于g4的项目,并且G5中指定的项目数量有限制
为了处理重复的值,助手列用于生成包含月份号的唯一键,并使用SMALL()
函数对它们进行sorting。 假定A2:A11
中的月份名称是文本(不是date值,格式为“MMM”),则J2
的数组公式为J2
的数组公式,
=SMALL(MONTH(DATEVALUE("1"&$A$2:$A$11&" 2001"))+ROUND(($B$2:$B$11+300)*1000,-2),ROW(I2)-ROW($I$1))
假定温度值四舍五入到小数点后的一位数,调整( +300
)处理负温度,向左移动( *1000
)并添加月份数。
D2
:
=IF(E2<=$H$3,TEXT(DATE(2001,MOD($J2,100),1),"MMM")," ")
E2
:
=IF(ROUND($J2/1000-300,1)<=$H$3,ROUND($J2/1000,1)-300," ")
D3
并向下拖动到D11
:
=IF(OR(E3<=$H$3,AND(E3>$H$3,E3<$H$4,COUNTIF(E$2:E2,">"&$H$3)<$H$5)),TEXT(DATE(2001,MOD($J3,100),1),"MMM")," ")
E3
并拖拽到E11
:
=IF(OR(ROUND($J3/1000-300,1)<=$H$3,AND(ROUND($J3/1000-300,1)>$H$3,ROUND($J3/1000-300,1)<$H$4,COUNTIF(E$2:E2,">"&$H$3)<$H$5)),ROUND($J3/1000-300,1)," ")
D2:D11
可选的条件格式D2:D11
:
E2:E11
可选条件E2:E11
:
请检查这些公式。 它应该为你工作,
column J
公式,
=IF(SMALL($B$2:$B$10,ROW(1:1))<=$G$3,SMALL($B$2:$B$10,ROW(1:1)),IF(AND(SMALL($B$2:$B$10,ROW(1:1))<=$G$4,COUNTIF($J$2:$J2,">" & $G$3)<$G$5),SMALL($B$2:$B$10,ROW(1:1)),""))
公式column I
,
=INDEX(A:A,MATCH(J3,B:B,0),1)
希望这可以帮助。 让我知道如果你需要任何信息。