1

スコア表に基づいて、生徒が何をマークするかを計算する関数を作成しました。なぜ私の関数は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)

ありがとうございました

4

1 に答える 1

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)

ルックアップ値が昇順になるように、負の符号が必要です。

于 2012-04-25T14:29:07.563 に答える