答案 0 :(得分:1)
我将使用Aggregate的SMALL函数:
=IFERROR(AGGREGATE(15,6,$B$2:$B$10/
(($A$2:$A$10=$D2)*($B$2:$B$10>=TIME(7,0,0))*($B$2:$B$10<=TIME(10,0,0))),COLUMN(A1)),"")
答案 1 :(得分:1)
要使用公式从一组数据中检索多个匹配值,可以使用IF和SMALL函数找出每个匹配项的行号并将该值反馈给INDEX。
{=INDEX(array,SMALL(IF(vals=val,ROW(vals)-ROW(INDEX(vals,1,1))+1),nth))}
位置:
一如往常,在使用数组公式时,请使用ctrl + shift + enter代替普通回车
答案 2 :(得分:1)
如果您在Time
列中有重复的值,则以下数组公式会有所帮助:
{=IFERROR(SMALL(IF(($D2=$A$2:$A$12)*($B$2:$B$12>=TIME(7,0,0))*($B$2:$B$12<=TIME(10,0,0)),IF(COUNTIF($D2:D2,$B$2:$B$12)=0,$B$2:$B$12)),1),"")}
按ctrl
+ shift
+ enter
确认编辑后的数组公式
答案 3 :(得分:1)