这里继续对if进行更加深入地加以运用,添加一个elseif来实现多层逻辑判断,在Excel函数中相当于增加多个条件进行判断。
回到我们的数据源中,以学生的成绩为例,我们为学生的成绩定了分级区间,如:
2. 点击“开发工具”选项卡下的“Visual Basic”,打开编程环境,添加一个新的过程“等级判定”。
3. 先对单个单元格的成绩判定,测试一下我们的代码是否可以正确判断。这里我们还用到一个AND结构,如函数中的AND用法一样。
Sub 等级判定()
If Range("F2") >= 90 Then
Range("G2") = "A"
ElseIf Range("F2") >= 80 And Range("F2") < 90 Then
Range("G2") = "B"
ElseIf Range("F2") >= 70 And Range("F2") < 80 Then
Range("G2") = "C"
ElseIf Range("F2") >= 60 And Range("F2") < 70 Then
Range("G2") = "D"
ElseIf Range("F2") < 60 Then
Range("G2") = "F"
End If
End Sub
运行上面的代码后,我们可以在Excel表中得到预期的结果。
4. 接着用for循环,添加变量i,对所有学生的成绩进行判定。
Sub 等级判定()
Dim i As Integer
For i = 2 To 17
If Range("F" & i) >= 90 Then
Range("G" & i) = "A"
ElseIf Range("F" & i) >= 80 And Range("F" & i) < 90 Then
Range("G" & i) = "B"
ElseIf Range("F" & i) >= 70 And Range("F" & i) < 80 Then
Range("G" & i) = "C"
ElseIf Range("F" & i) >= 60 And Range("F" & i) < 70 Then
Range("G" & i) = "D"
ElseIf Range("F" & i) < 60 Then
Range("G" & i) = "F"
End If
Next
End Sub
通过上面的方法,可以快速对数据进行处理,而且可以添加多个判定条件。
更多可参考此文章中的视频:VBA中elseif多层逻辑判断