如果相邻单元格在指定值之间,则设置单元格文本

时间:2013-02-03 14:14:40

标签: excel excel-2013

我正在使用Excel 2013中的学生评估表。我想根据另一个单元格的值设置单元格的显示文本

e.g。

如果单元格H3的值为0到5,则单元格I3应显示“Beginner”
如果单元格H3的值为6到10,则单元格I3应显示“Pre-Intermediate”
如果单元格H3的值是11到15,则单元格I3应该显示“中间”
如果单元格H3的值为16到20,则单元格I3应显示“高级”

实现这一目标的最佳方法是什么?任何人都可以建议我可以在条件格式中使用的公式来实现这个结果吗?

谢谢

3 个答案:

答案 0 :(得分:3)

在单元格I3中放置公式(缩短文本以便于阅读):

解决方案1:

=IF( H3<=5, "Beg", IF( H3<=10, "Pre", IF( H3<=15, "Int", "Adv" ) ) )

注意:负面将是“初学者”,超过15的人将是“高级”

解决方案2:

=CHOOSE( RoundUp( H3/5, 0 ) + 1, "Beg", "Beg", "Pre", "Int", "Adv")) 

注意:0-20以外的值将显示为错误,第一个“Beg”表示0值,第二个“Beg”表示1-5

答案 1 :(得分:1)

虽然在一个公式中有多种方法可以做到这一点(请参阅其他答案),但我强烈建议您将“业务逻辑”,即级别(“初学者”,......)与单独表格中的阈值 - 然后将简单的VLOOKUP公式应用于它!

这种方法的优点是,您可以使假设对用户(或管理员)透明,以后可以轻松调整它们 - 而无需触及(或让用户理解)公式!

为此,请将小假设表放在工作簿中的某个位置,例如表阈值,A列和B列:

    A          B
    ___        _______________ 
1   Threshold  Level
2   0          Beginner
3   6          Pre-intermediate
4   11         Intermediate
5   16         Advanced

现在,您只需将以下公式放在要显示级别的单元格中:

=VLOOKUP(H3,Thresholds!$A:$B,2)

答案 2 :(得分:0)

假设值列表从A2开始,请在B2中键入以下公式:

=IF(AND(ISNUMBER(A2),A2>=0,A2<=20),LOOKUP(A2,{0,6,11,16},{"Beginner","Pre-Intermediate","Intermediate","Advanced"}),"INCORRECT VALUE")

它将处理允许范围之外的数字,以及EMPTY单元格或非数字数据 - 这些数据将显示INCORRECT VALUE

对于条件格式,您可以轻松地为所有等级应用着色以及返回错误。祝你好运!

P.S。示例文件已共享:https://www.dropbox.com/s/or37zkabe7ictoh/GradesLookup.xlsx