我们来看一下演示案例的数据,学生的具体成绩已相应地给出,并且来划分了相对的成绩区间。如果直接使用IFS函数,可以很快计算出各科成绩所在的等级区间,对IF和IFS函数比较熟悉的人来说这并不难。

我们来看一下在Excel VBA中如何通过代码实现多层逻辑判断,除了用到基本的If,也需要与之相配合的ElseIf。
点击“开发工具”选项卡下的“Visual Basic”,打开VBA程序的编程环境,添加一个新的过程,将之命名为“等级判定”。

我们还是先对一个学生的成绩进行判定,如果满足第一个条件,则输出相应的等级,否则判断是否满足第二个条件,依此类推,直至完成最后一个条件的判断。
如图中的代码所示,首先是If(第一个条件),如若不满足,则ElseIf(其他的条件)。我们可以先执行一下此过程,验证所写的代码是否可以正确判断一个学生的成绩等级。在ElseIf中,我们结合使用了一个And结构,其用法与Excel中的AND函数一致,即需要同时满足And左右的条件。

如果以上代码的验证结果符合预期,那我们可以在If……ElseIf的结构外套用一个For循环,并通过变量i来控制范围,从而对所有学生的成绩进行判定。

通过在Excel VBA中使用If……ElseIf和And的搭配,可以快速对数据进行多个条件的判断处理,意味着我们又学到了一种新的方法,除了使用Excel的函数以外。究竟哪种更适合你的数据场景,更能满足数据处理的需求,选择在你!