Excel精英培训网

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

[已解决]if条件3000>D2>=1500怎么理解

[复制链接]
发表于 2010-11-2 09:13 | 显示全部楼层 |阅读模式
=IF(D2>=3000,"20",IF(3000>D2>=1500,"40","80"))
请问3000>D2>=1500怎么判断,电脑显示全为true
复制公式时,结果只有20与40
最佳答案
2010-11-2 09:41

if条件3000>D2>=1500怎么理解

if条件3000>D2>=1500怎么理解

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-11-2 09:17 | 显示全部楼层

都是TRUE是因为

OR(FALSE,TRUE)=TRUE

[此贴子已经被作者于2010-11-2 9:47:57编辑过]
回复

使用道具 举报

发表于 2010-11-2 09:28 | 显示全部楼层

去掉数字的引号,这样不能直接参与运算,是文本格式

=IF(D2>=3000,20,IF(AND(D2>=1500,D2<3000),40,80))

回复

使用道具 举报

发表于 2010-11-2 09:41 | 显示全部楼层    本楼为最佳答案   

if条件3000>D2>=1500怎么理解

if条件3000>D2>=1500怎么理解

回复

使用道具 举报

发表于 2010-11-2 09:48 | 显示全部楼层

学习&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
回复

使用道具 举报

发表于 2010-11-2 10:12 | 显示全部楼层

原因是任意逻辑值大于任意数值。

3000>D2>=1500

首先计算3000>D2,返回一个逻辑值TRUE或FALSE

再计算TRUE>=1500(或FALSE>=1500)均返回逻辑值TRUE

正确的做法是用AND函数 AND(3000>D2,D2>=1500)

但是在本例中因为是IF嵌套,内部的IF是在外部IF判断后再进一步判断的,所以已经在外部判断过的那个条件可以省略。

=IF(D2>=3000,"20",IF(D2>=1500,"40","80"))

PS:注意"20"和20的区别,明确一下自己是要返回文本值,还是要返回数值。

回复

使用道具 举报

 楼主| 发表于 2010-11-2 10:39 | 显示全部楼层

谢谢各位的解答,问题现已解决[em04]
回复

使用道具 举报

发表于 2010-11-2 14:59 | 显示全部楼层

学习了
回复

使用道具 举报

发表于 2010-11-2 17:33 | 显示全部楼层

QUOTE:
以下是引用wang_111在2010-11-2 9:28:00的发言:

去掉数字的引号,这样不能直接参与运算,是文本格式

=IF(D2>=3000,20,IF(AND(D2>=1500,D2<3000),40,80))

支持,我觉得也只能这样用

回复

使用道具 举报

发表于 2010-11-4 21:56 | 显示全部楼层

那个引号只是表明返回的是文本还是数字,和公式的逻辑错误没关系

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 08:13 , Processed in 0.289715 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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