找出一个数字所属的范围

myr*_*yro 1 excel

我写了一个函数,根据得分表计算学生得到的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
Run Code Online (Sandbox Code Playgroud)

这是功能:

{=IF(B1>=$B$3:$B$8,IF(B1<=$C$3:$C$8,$A$3:$A$8))}
Run Code Online (Sandbox Code Playgroud)

我正在使用{}括号表示数组函数.(CTRL SHIFT ENTER)

谢谢

lor*_*i_m 5

你在正确的轨道上,但你的公式返回一个数组而不是一个值.将结果包装在LOOKUP中应该得到所需的结果:

=LOOKUP("Z",IF(B1>=$B$3:$B$8,IF(B1<=$C$3:$C$8,$A$3:$A$8))
Run Code Online (Sandbox Code Playgroud)

这将返回最后一个匹配等级,因为"Z"大于该范围内的任何其他文本值.

一种更简单的方法是:

=LOOKUP(-B1,-C$3:C$8,A$3:A$8)
Run Code Online (Sandbox Code Playgroud)

需要负号以使查找值按升序排列.