Excel IF语句未返回适当的值

时间:2018-07-19 11:22:53

标签: excel if-statement excel-formula

我正在尝试根据他们的分数给他们AB给学生评分。如果某人的得分是absent而不是分数,我将返回该单元格的值。

但是,它不返回单元格的值。参考记录位于称为raw的单独工作表中。我认为可能是因为我正在尝试返回字符串数据。

我正在使用Excel2007。这是公式:

=IF(raw!E6>=75,"AA",IF(raw!E6>=70,"AB",IF(raw!E6>=60,"B",IF(raw!E6>=50,"C",IF(raw!E6>=40,"D",IF(raw!E6<40,"RT",raw!E6))))))

3 个答案:

答案 0 :(得分:2)

如果可以避免,请不要使用嵌套IF。相反,请使用带状的VLOOKUP:它的效率要高很多倍,并且故障排除要简单得多。像这样:

enter image description here

=IF(ISNUMBER([@Score]),VLOOKUP([@Score],Table1,2,TRUE),"Absent")

注意:

  • 以上内容使用表格和关联的表格符号。我总是用 我可以使用表格,因为它们减少了电子表格的管理, 结构化表引用具有内在的含义。
  • VLOOKUP必须将TRUE作为第四个参数,并进行查找 表格必须按升序排序。
  • 最低分数必须为零,以便低于40的任何事物都将获得“重考”等级。

答案 1 :(得分:0)

根据学生的分数是否为整数百分比(即75、63等),可以使用INT函数将输入字段强制解释为整数(不是它总是四舍五入一个分数,我想您在这里使用嵌套的if结构似乎还可以,那么您的函数应该是:

=IF(INT(raw!E6>=75),"AA",IF(INT(raw!E6)>=70,"AB",IF(INT(raw!E6)>=60,"B",IF(INT(raw!E6)>=50,"C",IF(INT(raw!E6)>=40,"D",IF(INT(raw!E6)<40,"RT",raw!E6))))))

答案 2 :(得分:-1)

您只需要更改您的上一个IF条件(原始!E6 <40,“ RT”),因为excel将为所有低于40的得分提供RT,因此添加和条件,例如raw!E6> 0,这应该解决您的工作

if(and(raw!E6 <40mraw!E6> 0),“ RT,raw!E6)

希望这会有所帮助