2015-11-18 73 views
2

我想要在兩個值之間的範圍內獲取第一個單元格的值。 我可以做的最好的辦法是獲得小於或大於值的第一個單元格。我希望第一個單元格的值大於一個值,並小於其他值。 這不起作用(因爲它只有1標準):返回目標值之間的第一個單元格範圍

{=INDEX(A1:A10,MATCH(TRUE,A1:A10<B1,0))} 

注:A1:A10是值的憤怒和B1是比較

我想:

{=INDEX(A1:A10,MATCH(TRUE,and(A1:A10<B1,A1:A10>B2),0))} 

但它不起作用。

謝謝你的幫助。

+0

你可以使用助手列嗎? –

+0

是的,如果需要我可以。 – Touten

+0

@chrisneilsen我寫它沒有訪問excel,但是當我嘗試它,我得到一個#N/A錯誤,所以我想它不 –

回答

1

試試這個:

{=INDEX(A1:A10,MATCH(1,(A1:A10<B1)*(A1:A10>B2),0))} 

請注意,這是一個數組公式,因此您不必寫{},但是當你輸入公式,以做到這一點Ctrl + Shift + Enter

0

它會爲你工作的任何地方表。

=INDEX(A1:A10,SMALL(IF(A1:A10>=B1,IF(A1:A10<=B2,ROW(A1:A10)-ROW(A1)+1)),ROWS(A1:A1))) 

Screenshot

0

使用的AGGREGATE¹ function代替MATCH到相對行位置返回到INDEX

=INDEX($A$2:$A$11, AGGREGATE(15, 6, ROW($1:$10)/(($A$2:$A$11<$B$1)*($A$2:$A$11>$B$2)), ROW(1:1))) 

這會強制不匹配的行號爲#DIV/0!錯誤。該選項告訴AGGREGATE忽略錯誤。

由於這個使用聚集的SMALL,incresing的ķ參數將產生第二個,第三個,等您填寫ROW(1:1)下匹配。

agg_less_than

請注意,我轉向你的樣本範圍向下一行。這是爲了說明ROW(1:10)是 A2:A11內的位置,而不是工作表上的實際行號。


¹AGGREGATE function用Excel 2010中引入的。它是不是在早期版本。

相關問題