在列表中查找小于另一个的值

我有以下Excel的设置是巨大的,但这是一个简化的设置:

ABCDE 1 Site1 X-Given Y-Given Site2 X-New-Given 2 A 10 400 A 15 3 A 20 500 A 25 4 A 30 600 A 30 5 A 40 700 B 35 6 A 50 800 B 30 7 B 2 400 B 15 8 B 25 500 B 25 9 B 300 600 B 30 

这就是我想要做的:

给定“E栏”的值,我想要find一个值<= E栏中的值,只要它们在同一个站点

然后我想做同样的事情,只有find>“E列”值

所以所需的公式将是两个单元格,一个具有较大的值,一个具有较小的值

 Example 1: Given 15 (E2) ---> would return "10" (from B2) and "20" (from B3) Example 2: Given 15 (E7) ---> would return "2" (from B7) and "25" (from B8) 

正如你所看到的输出会根据网站而改变,这是我似乎无法理解的部分!

这些是使用Control + Shift + Enterinput的数组公式,而不仅仅是Enter。 如果你input正确的话,Excel会把大括号放在它们周围 – 不要自己input大括号。

 {=MAX(($A$2:$A$9=D2)*($B$2:$B$9<=E2)*($B$2:$B$9))} 

 {=MIN(IF((($A$2:$A$9=D2)*($B$2:$B$9>=E2)*($B$2:$B$9))=0,"",$B$2:$B$9))} 

较小者发现小于或等于E2的站点的最大值。 越大,发现该网站的最小值大于或等于E2。 填写完成rest。

公式中的数组返回0代表FALSE,1代表TRUE,所以只要其中一行为FALSE,MIN总是返回0。 这就是为什么你必须使用IF语句。 通过为FALSE注入一个string,它会忽略它们,因为MIN忽略string。