ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > Excel的If函数与IIF函数有什么区别?

Excel的If函数与IIF函数有什么区别?

作者:绿色风 分类: 时间:2022-08-18 浏览:220
楼主
wise
Q:Excel的If函数与IIF函数有什么区别?
A:
IF函数:为Excel中的工作表函数,其执行真假值判断,根据逻辑计算的真假值,返回不同结果。
可以使用函数 IF 对数值和公式进行条件检测。语法为:IF(logical_test,value_if_true,value_if_false)
IIF函数:为Excel中的VBA函数,其也可以用在Excel的SQL中,IIf函数与Excel工作表函数IF函数相似,
有三个输入参数:第一个参数是逻辑判断,第二个是判断结果为真时执行的表达式,第三个是判断结果为假时执行的表达式。
但是也是有点区别的,特别是在VBA中使用这两个函数的时候。
1、在IF语句中,区别如下:
IIf函数与单行的If语句之间的一个区别是,在单行的If语句中的Else部分是可选的,而IIf函数的第三个参数必须被定义。
在VBA中,经常忽略Else子句;还有一个区别是,IIf函数仅能够给单个的变量返回值,而单行的If语句则可以给多个变量赋值:
If a>b then a=a+1 Else b=b+1
2、在IF结构,区别如下:
如果当判断结果为True时想要执行以上的操作,则可以使用If结构:
  1. If a>b then
  2.   a=a+1
  3. Else
  4.   b=b+1
  5. End If
If结构与IIf的区别:IIF函数,程序将对其中的两个条件都要进行判断;而使用IF THEN语句时,程序只判断其中满足条件的条件语句。
也就是说,如果IIF中两个条件中,有一个是出错的,则这个函数会出错。
  1. Sub test1()
  2. Dim a As Integer
  3. Dim b As Integer
  4. Dim c
  5. a = -1
  6. b = 0
  7. If a > 0 Then
  8.   c = a / b
  9. Else
  10.   c = a * b
  11. End If
  12. MsgBox c
  13. End Sub
  1. Sub test2()
  2. Dim a As Integer
  3. Dim b As Integer
  4. Dim c
  5. a = -1
  6. b = 0
  7. c = VBA.IIf(a > 0, a / b, a * b)
  8. MsgBox c
  9. End Sub
2楼
yfan17
小7总结得比较全面,适合我这种初学VBA的“生手”。
3楼
海洋之星
厉害,谢谢帮我解决这个问题,

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap