excel判断成绩等级及格、优秀等的方法总结
来源:网络收集 点击: 时间:2024-04-03利用函数if的方法:在B2单元格输入公式:=IF(A260,不及格,IF(A2=90,优秀,IF(AND(A2=60,A270),及格,一般))),下拉填充即可。

利用函数lookup的方法:在B2单元格输入公式:=LOOKUP(A2,{0,60,70,90;不及格,及格,一般,优秀}),下拉填充即可。

利用函数index结合函数match的方法:在B2单元格输入公式:=INDEX({不及格;及格;一般;优秀},MATCH(A2,{0;60;70;90})),下拉填充即可。

利用函数text的方法:在B2单元格输入公式:=TEXT(0A2-60,及格;一般;优秀;不及格),下拉填充即可。
简要介绍下TEXT函数的用法:TEXT函数的条件格式公式样式为:text(数据源,显示格式;显示格式;否则显示格式;文本显示格式),本例中的0的意思为:当=0时返回本身,负数返回文本。

利用函数choose结合函数sum的方法:在B2单元格输入公式:=CHOOSE(SUM(1*(A2={0,60,70,90})),不及格,及格,一般,优秀),下拉填充即可。

按ALT+F11打开VBE编辑器,在工程窗口下的Microsoft Excel对象右键-插入-模块,新建一个模块1。

自定义函数grade,粘贴如下代码:
Option Explicit
Function grade(r As Range)
If r 60 Then
grade = 不及格
ElseIf r = 60 And r 70 Then
grade = 及格
ElseIf r = 70 And r 90 Then
grade = 一般
Else
grade = 优秀
End If
End Function

在B2单元格输入公式:=grade(A2),下拉填充即可。

按ALT+F11打开VBE编辑器,双击工程窗口下的sheet1(sheet1)项(本示例存在于sheet1表,请根据实际情况双击粘贴代码),在右边的代码窗口粘贴如下代码:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row 1 Then 限定仅当A列第二个单元格即A2开始的单元格内容变化时触发,此处请根据实际需要更改
If IsNumeric(Target.Value) Then
If Target.Value 60 Then
Target.Offset(0, 1) = 不及格
ElseIf Target.Value = 60 And Target.Value 70 Then
Target.Offset(0, 1) = 及格
ElseIf Target.Value = 70 And Target.Value 90 Then
Target.Offset(0, 1) = 一般
Else
Target.Offset(0, 1) = 优秀
End If
Else
MsgBox 输入类型不合法,请输入数字!
Target.ClearContents
Target.Offset(0, 1).ClearContents
End If
End If
End Sub

当在A列A2开始的单元格区域输入内容变化时,会自动在相邻单元格填入平均成绩向对应的成绩等级;当输入的内容为非数字时,会弹出提示框。如图示:

VBA自动填充的方法仅限手动填充输入,不支持复制粘贴,特此注意。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_410580.html