问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

EXCEL:if函数,满足条件1,返回一个值,满足条件2,返回另一值。若返回值小于零,则为0,请高人指点

发布网友 发布时间:2022-05-01 15:19

我来回答

4个回答

热心网友 时间:2023-10-21 10:55

如果要实现所在单元格(A1)的数值小于0时,取0值,也就相当于在A1与0之间取最大值,因此可以用Max函数来实现,即:=Max(A1,0)
用你的原始公式替换上面的A1就可以了。

问题是,你所给公式已经超出了IF函数所能容纳的最大层数,因此必须优化后才能运行。
最外面两层是针对不同单元格(AJ3、AM3)进行判断的,不好优化。但内层的几个判断,都是根据D3的值进行判断,通常用Lookup、HLookup或VLookup进行判断。这里以VLookup函数为例列出内层几个IF函数的近似公式:
=VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2,0)

注:把公式最后面的“,0”去掉也是可以的。
这里只所以说是近似,因为最终效果还是有所不同的。

为了描述方便,把你所给出的内层公式称为公式1,上面的公式称为公式2,不包括“,0”的公式称为公式3。
如果D3的值只能取11、22、33、44、55、66、77中的一个值,不会有其他例外,上面的三个公式效果都是相同的。
但如果D3的值比较自由,比如D3=30,情况就会有明显的不同:
公式1返回FALSE(IF函数实际应有3个参数,在第3参数缺省情况下,在不满足所给定条件时,就会返回FALSE值)。
公式2返回错误值#N/A,这个公式为精确查找,用查找项的顺序无关,这个公式允许不按升序排列,比如就按你原公式中提供的66、11、22、33、44、55、77的顺序,效果也是一样的。
公式3返回小于D3值并与之最近的一个值所对应的返回值,即22对应的数值“R3-(U3+U4+U5-AJ3-AJ4-AJ5)”。
你如果真的想实现在D3不为11...77值时,返回FALSE值,就只好在公式2或3的外围再嵌套一个IF函数
=IF(AND(D3=11,D3=22,D3=33,D3=44,D3=55,D3=66,D3=77),公式3)
最终公式为
=Max(0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2))))
加上有可能返回FALSE值的可能性的公式
=Max(0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(AND(D3=11,D3=22,D3=33,D3=44,D3=55,D3=66,D3=77),VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2,0)))))

------------------------------------
欢迎到Excel Home论坛学习、交流

热心网友 时间:2023-10-21 10:56

那就再套上一层=IF(结果<0,0,结果)
下面就是套好的。我在2007版本中测试通过。
=IF(IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2))))))))))<0,0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))))

热心网友 时间:2023-10-21 10:56

=max(0,原公式)

使用choose函数替代多层if函数,把原公式简化一下,完整写法:

=MAX(IF(AJ3=0,0,IF(AM3<=100%,AJ3,R3-CHOOSE(D3/11,(U3+U4-AJ3-AJ4),(U3+U4+U5-AJ3-AJ4-AJ5),(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),R3,(U3-AJ3),(U3+U2-AJ3-AJ2)))),0)追问您给此函数简化了,请给予解释,我对choose函数使用不明白。谢谢您指点!

追答从你前面的公式中看出:D3/11,可能得到的值是正好是1-7共七种情况,对应七种结果。把可能的结果按序排列,使用choose函数的第1参数D3/11,正好从后面罗列的结果中指定选取对应的那一种。
这种简单的一一对应关系,可以使用choose函数,比用嵌套的if函数要简单。
虽然用if函数多层嵌套的威力更强大,能够处理复杂的逻辑关系!但是,这点小case用不着老大出马,choose小弟能搞定的,对吧!呵呵~~

如果把if函数嵌套和choose函数作比较:
choose先生,能够带若干马仔,直接指定其中的一个,快速直达;
而if先生,虽然只有2个直接下级,但他的这2个手下,也可以带有下级,下级还可以有下级……,所以,if函数更强,但他的命令需要通过多层才能达到最终执行者,在有些情况下,就显得效率低了!

热心网友 时间:2023-10-21 10:57

=IF(AJ3=0,0,IF(IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))<0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))))

热心网友 时间:2023-10-21 10:55

如果要实现所在单元格(A1)的数值小于0时,取0值,也就相当于在A1与0之间取最大值,因此可以用Max函数来实现,即:=Max(A1,0)
用你的原始公式替换上面的A1就可以了。

问题是,你所给公式已经超出了IF函数所能容纳的最大层数,因此必须优化后才能运行。
最外面两层是针对不同单元格(AJ3、AM3)进行判断的,不好优化。但内层的几个判断,都是根据D3的值进行判断,通常用Lookup、HLookup或VLookup进行判断。这里以VLookup函数为例列出内层几个IF函数的近似公式:
=VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2,0)

注:把公式最后面的“,0”去掉也是可以的。
这里只所以说是近似,因为最终效果还是有所不同的。

为了描述方便,把你所给出的内层公式称为公式1,上面的公式称为公式2,不包括“,0”的公式称为公式3。
如果D3的值只能取11、22、33、44、55、66、77中的一个值,不会有其他例外,上面的三个公式效果都是相同的。
但如果D3的值比较自由,比如D3=30,情况就会有明显的不同:
公式1返回FALSE(IF函数实际应有3个参数,在第3参数缺省情况下,在不满足所给定条件时,就会返回FALSE值)。
公式2返回错误值#N/A,这个公式为精确查找,用查找项的顺序无关,这个公式允许不按升序排列,比如就按你原公式中提供的66、11、22、33、44、55、77的顺序,效果也是一样的。
公式3返回小于D3值并与之最近的一个值所对应的返回值,即22对应的数值“R3-(U3+U4+U5-AJ3-AJ4-AJ5)”。
你如果真的想实现在D3不为11...77值时,返回FALSE值,就只好在公式2或3的外围再嵌套一个IF函数
=IF(AND(D3=11,D3=22,D3=33,D3=44,D3=55,D3=66,D3=77),公式3)
最终公式为
=Max(0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2))))
加上有可能返回FALSE值的可能性的公式
=Max(0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(AND(D3=11,D3=22,D3=33,D3=44,D3=55,D3=66,D3=77),VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5-AJ3-AJ4-AJ5);33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6);44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7);55,0;66,R3-(U3-AJ3);77,R3-(U3+U2-AJ3-AJ2)},2,0)))))

------------------------------------
欢迎到Excel Home论坛学习、交流

热心网友 时间:2023-10-21 10:56

那就再套上一层=IF(结果<0,0,结果)
下面就是套好的。我在2007版本中测试通过。
=IF(IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2))))))))))<0,0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))))

热心网友 时间:2023-10-21 10:56

=max(0,原公式)

使用choose函数替代多层if函数,把原公式简化一下,完整写法:

=MAX(IF(AJ3=0,0,IF(AM3<=100%,AJ3,R3-CHOOSE(D3/11,(U3+U4-AJ3-AJ4),(U3+U4+U5-AJ3-AJ4-AJ5),(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),R3,(U3-AJ3),(U3+U2-AJ3-AJ2)))),0)追问您给此函数简化了,请给予解释,我对choose函数使用不明白。谢谢您指点!

追答从你前面的公式中看出:D3/11,可能得到的值是正好是1-7共七种情况,对应七种结果。把可能的结果按序排列,使用choose函数的第1参数D3/11,正好从后面罗列的结果中指定选取对应的那一种。
这种简单的一一对应关系,可以使用choose函数,比用嵌套的if函数要简单。
虽然用if函数多层嵌套的威力更强大,能够处理复杂的逻辑关系!但是,这点小case用不着老大出马,choose小弟能搞定的,对吧!呵呵~~

如果把if函数嵌套和choose函数作比较:
choose先生,能够带若干马仔,直接指定其中的一个,快速直达;
而if先生,虽然只有2个直接下级,但他的这2个手下,也可以带有下级,下级还可以有下级……,所以,if函数更强,但他的命令需要通过多层才能达到最终执行者,在有些情况下,就显得效率低了!

热心网友 时间:2023-10-21 10:57

=IF(AJ3=0,0,IF(IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))<0,0,IF(AM3<=100%,AJ3,IF(D3=66,R3-(U3-AJ3),IF(D3=11,R3-(U3+U4-AJ3-AJ4),IF(D3=22,R3-(U3+U4+U5-AJ3-AJ4-AJ5),IF(D3=33,R3-(U3+U4+U5+U6-AJ3-AJ4-AJ5-AJ6),IF(D3=44,R3-(U3+U4+U5+U6+U7-AJ3-AJ4-AJ5-AJ6-AJ7),IF(D3=55,0,IF(D3=77,R3-(U3+U2-AJ3-AJ2)))))))))))
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我有个无线路由器 G11手机无法上wifi 已经按照路由说明书上步骤安装调... g11无线网显示以连接信号强但是一上网显示网络错误 拜求解 HTC G11能连接上WLAN,信号显示“极强”但上不去网? ...可是家里的能连上就是打不开网页,我的路由是上海贝尔的那种。_百度... 我的手机HTC G11 连接上WLAN,信号很好,就是无法上网 ...连上家里的无线网,但是qq却上不去,网页也打不开,等于没练上一样... G11WIFI信号格满但是打不开网页等 就生产力发展而言,丛西汉至唐朝有何表现 汉代农业的发展程度是怎么样的? 你好 酷管家密码忘了 打不开怎么办 从荥经县城到龙苍沟风景区怎么坐车啊?车费大概多少,游玩时间大概多久呢?求助 EXCEL相关:IF函数,RIGHT函数,CHOOSE函数 龙苍沟国家森林公园从成都市出发怎么走 龙苍沟门票价格 高手帮忙excel,if函数还是choose函数,帮忙告知一下我需要的效果如何设置。 excel choose函数与if函数的区别 顺丰骑士提现到顺丰金融的钱在哪里 顺丰金融怎么要激活金才可以下款? 顺丰金融旗下都有哪些产品? 计算器按键界面适用什么布局模式 C++编程一个计算器,可以实现用键盘输入进行运算 讯飞输入法怎么使用键盘计算器 C#做一个计算器如何实现键盘输入? 保定市科技中等专业技术学校的大专毕业证在学信网上能查到吗? 河北正规的三加二学校有哪些? 保定市科技中等专业学校怎么样?都有什么专业? 保定市科技中等专业学校都有什么专业?推荐哪个? 上菱bcd—188冰箱的制冷开关怎么调 代码是6769的保定市科技中等专业学校她的口碑怎么样办学实力怎么样_百度问一问 保定市科技中等专业学校哪个专业适合男孩? 龙苍沟国家森林公园的地理环境 如图:如何通过if函数、lookup函数、vlookup函数、choose函数实现某一单元格内内容跟随另一单元格变化? 龙苍沟国家级森林公园怎么样 顺达电脑主机如何连接 excel2003,if嵌套超*改用choose, 公式如下,结果还是不行,提示说:你在这个公式中输入太多参数,求解 请问一下。春节到龙苍沟好耍不?那边的路况如何?住宿和吃饭方便不?有知道的请留个言,谢谢, excel函数的问题啊,哪里不对呢 龙苍沟国家森林公园的生态价值 if函数不能用通配符怎么替代 雅安龙苍沟下雪了吗? excel中choose函数的多条件判断 龙苍沟国家森林公园的交通信息 excel if和lookup、choose函数问题用哪个都可以 用最好的就行 去龙苍沟国家森林公园怎么走 龙苍沟国家森林公园的文化传说 excel的if函数 if等于多少 龙苍沟70岁以上免门票吗? EXCEL中用什么函数代替IF 龙苍沟国家森林公园的景区历史 龙苍沟国家森林公园距双流路程多远