excel 怎么用公式 对 成绩 算出 及格 、一般、杰出啊

excel

1个回答

写回答

Findinghome

2025-08-24 16:35

+ 关注

VBA
VBA

下面介绍如下几种函数及VBA的方法:首先设一个前提:假设当平均成绩小于60时为不及格,大台计识乎于等于60并且小于70时为及格,大于等于70并且小于90时为一般,大于等于90时为优秀。方法一:利用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})),下拉填充即可。

excel
excel

方法四:利用函数text的方法:在B2单元格输入公式:=TEXT(0&A2-60,[10]及格;[30]一般;优秀;不及格),下拉填充即可。

简要介绍下TEXT函数的用法:TEXT函数的条件格式公式样式为:text(数据源,[条件1]显示格式;[条件2]显示格式;否则显示格式;文本显白矿示格式),本例中的0&的意思为:当=0时返回本身,负数返回文本。方法五:利用函数choose结合函数sum的方法:在B2单元格输入公式:=CHOOSE(SUM(1*(A2={0,60,70,90})),不及格,及格,一般,优秀),下拉填充即可。

方法六:利用VBA自定义函数的方法:按ALT+F11打开VBE编辑器,在工程窗口下的Microsoft excel对象右键-插入-模块,新建一个模块1。粘贴如下代码:Option ExplicitFunction 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 IfEnd Function接着在B2单元格输入公式:=grade(A2),下拉填充即可。

方法七:利用VBA自动填充的方法:按ALT+F11打开VBE编辑器,双击工程窗口下的sheet1(sheet1)项,在右边的代码窗口粘贴如下代码:Option ExplicitPrivate 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 IfEnd IfEnd Sub当在A列A2开始的单元格区域输入内容变化时,会自动在相邻单元格填入平均成绩向对应的成绩等级;当输入的内容为非数字时,会弹出提示框。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号