2012-04-25 58 views
1

我編寫了一個函數,根據得分表計算學生獲得的MARK。 爲什麼我的功能僅適用於A標記?查找某個號碼所屬的範圍

此Excel工作表的樣子

COLUMN: A  B  C  
     Student SCORE MARK 
    1 adsf  90  A 
    2 asgfd 89  FALSE  

    3  A  90 100 
    4  B  81 89 
    5  C  71 80 
    6  D  61 70 
    7  E  56 60 
    8  Fx  0 55 

這是函數:

{=IF(B1>=$B$3:$B$8,IF(B1<=$C$3:$C$8,$A$3:$A$8))} 

我使用{}數組功能支架。 (CTRL SHIFT ENTER)

謝謝

回答

5

你是在正確的軌道上,但是您的公式返回一個數組而不是單個值。在LOOKUP包裹結果應該得到所需的結果:

=LOOKUP("Z",IF(B1>=$B$3:$B$8,IF(B1<=$C$3:$C$8,$A$3:$A$8)) 

這將返回最後一個匹配的等級,因爲「Z」是比在範圍內的任何其他文本值大。

一個更簡單的方法是:需要

=LOOKUP(-B1,-C$3:C$8,A$3:A$8) 

的負號,以便查找值按升序排列。

+0

我喜歡消極的選擇,看似簡單! – 2012-04-25 15:55:54

+0

@lori_m謝謝。我仍然不明白他是如何查找價值,如果它不在列表中,以及爲什麼這些負面跡象? – myro 2012-04-25 18:27:26

+1

@myro:LOOKUP不會執行完全匹配,它會查找查找範圍中的第一個值小於或等於查找值,並從結果範圍返回相應的值,但查找範圍必須按升序排列,請參閱MS幫助獲取更多信息。爲了簡化事情,您可能需要按照標記的升序排列成績表,並使用列B作爲查找範圍,那麼您將不需要負號。 – 2012-04-26 08:26:27