excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA中通过IF功能快速判断数据与否,真的很方便!

对于经常使用Excel表格的朋友们来说,IF函数应该不陌生吧。在很多的问题或场景中都可能会用到该函数,给定一个条件,如果正确(或条件相符)则如何,反之(与条件不符)又会怎样。

在下面的这个演示案例中,我们给出了一个简单的学生成绩数据表,需要完成的是对每个学生的成绩做个简单的评估,即在G列中判断学生的某一科成绩是否达标。

如果使用Excel的IF函数,当成绩大于等于60,则为及格,否则为不及格,再使用快速填充的功能将公式复制,即可完成对所有学生的成绩判定。我们是否可以把这种方法也用在Excel VBA的代码中呢?

打开VBA的编程环境:在“开发工具”选项卡下点击 “Visual Basic”,在数据所在的工作表下右键添加一个新的模块。

添加一个新的过程,或在代码框中输入新建过程的代码,将此过程命名为“成绩判定”。

在过程中添加一个If的逻辑判断,如果F2单元格的成绩大于等于60,则G2单元格输入“及格”。

此时的If判断只是完成一个单元格的判定,如果要对一整列的数据进行判断,我们需要在If之前添加一个For循环控制。在使用For循环时,我们定义了一个控制变量i,然后为其设置了一个范围,这里的范围我们只是以此演示案例为准,若是数据量更大的情况,在VBA有其他的方法进行动态范围的设置。

我们先来执行一下目前已完成的过程,可以看到会自动对学生的成绩进行快速的判定。

可惜的是,我们会发现执行后,结果是不完整的,在If中只针对了一种情况进行判断,即满足60及以上的成绩判定为“及格”,而60以下的情况未做判定。我们在Excel中直接使用IF函数时,需要将TRUE和FALSE的结果都输入。在VBA的代码中,If则通常与Else是连在一起的,If判断满足条件的情况,Else则判断不满足If的条件时所产生的结果。

再次执行完整的过程后,则会对所有学生的成绩进行相应的判定。

当然了,VBA中的If与Else,和Excel的IF函数其实本质上作用是一样的,有一个重要的差别是,执行VBA的过程后,在Excel的单元格中输入的直接是数据(数值),而直接使用函数公式的话,单元格显示的数值,而实际上单元格存储的还是公式。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接