Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 21197|回复: 8

[已解决]if 。。and后,如果是几个并列条件如何解决呢?

[复制链接]
发表于 2012-8-20 20:00 | 显示全部楼层 |阅读模式
题目中说的不太清楚。 我想表达的是  如果单元格值为0,且单元格的列数值不等于8,9,10,11 那么就执行下一步。 这句该如何表达呢?

我试过了这样   i代表列数值的变量   if cells(1,i)=0 and  (i <> 8 or i <> 9 or i <>10) then  结果当然是错误了。 应该如何表达呢? 还是说不应该用if then语句?
最佳答案
2012-8-20 20:10
本帖最后由 hwc2ycy 于 2012-8-20 20:13 编辑

你的写法没有问题,只是条件判断不够严谨。
你想,当列等于8的时候,后面的条件肯定就是真的,同理等于9的时候,括号内的其他条件就为真,结果可想而知,不符合预期的要求。

把括号内的OR换成AND就可以了。

发表于 2012-8-20 20:03 | 显示全部楼层
IF CELLS(1,I)=0 AND (I<8  OR  I>11 )THEN

END IF
回复

使用道具 举报

发表于 2012-8-20 20:06 | 显示全部楼层
Sub test()
    Dim i
        For i = 1 To 20
            If Cells(i, 1) = 0 And (i < 8 Or i > 11) Then
                Debug.Print i
            End If
        Next
        
End Sub
QQ截图20120820200603.jpg
回复

使用道具 举报

发表于 2012-8-20 20:08 | 显示全部楼层
例子是行了,道理是一样的。
回复

使用道具 举报

 楼主| 发表于 2012-8-20 20:10 | 显示全部楼层
hwc2ycy 发表于 2012-8-20 20:06
Sub test()
    Dim i
        For i = 1 To 20

哦哦,这样! 那如果后面的or 是好几个不连续的数字,比如1,6,11,13 可以这样?  
if cell(1,i)= 0 and (i<>1 or i<>6 or i<>11 or i<>13) then
回复

使用道具 举报

发表于 2012-8-20 20:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hwc2ycy 于 2012-8-20 20:13 编辑

你的写法没有问题,只是条件判断不够严谨。
你想,当列等于8的时候,后面的条件肯定就是真的,同理等于9的时候,括号内的其他条件就为真,结果可想而知,不符合预期的要求。

把括号内的OR换成AND就可以了。

回复

使用道具 举报

发表于 2012-8-20 20:13 | 显示全部楼层
本帖最后由 hwc2ycy 于 2012-8-20 20:14 编辑
hehehehebt 发表于 2012-8-20 20:10
哦哦,这样! 那如果后面的or 是好几个不连续的数字,比如1,6,11,13 可以这样?  
if cell(1,i)= 0 and ...


全用AND判断吧。
用括号内用OR,还会出现上面的情况。
回复

使用道具 举报

 楼主| 发表于 2012-8-20 20:14 | 显示全部楼层
hwc2ycy 发表于 2012-8-20 20:10
你的写法没有问题,只是条件判断不够严谨。
你想,当列等于8的时候,后面的条件肯定就是真的,同理等于9的 ...

非常感谢!!!原来是这样!桑克斯!
回复

使用道具 举报

发表于 2012-8-20 20:15 | 显示全部楼层
本帖最后由 hwc2ycy 于 2012-8-20 20:23 编辑
hehehehebt 发表于 2012-8-20 20:14
非常感谢!!!原来是这样!桑克斯!

相互学习,帮你,对我也是一个学习的过程。
亲,可以的话,给个最佳。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 12:25 , Processed in 0.308295 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表