高分求教。。excel问题。。

yangbaomin 2003-10-27 05:18:18
我想用excel实现关于这个条件,if a-1120<=0 则b=0;
if 0<a-1120<=500 则b=a*5%
if 500<a-1120<=2000 则b=a*10%
if 2000<a-1120 则b=a*15%
大家多帮忙了。
...全文
33 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yang00zi 2003-10-30
  • 打赏
  • 举报
回复
果然是SUNNET,不愧是EXCEL的MVP,出手确实高人一畴.
你提供的方法真是又快又好又省事,比我原来的办法强多了.多谢了.
我在EXCELHOME看过你的许多帖子(我就是通过SUNNET提供的范例文件发现作者是EdwardZhou的,呵呵),收获很多.特别是那个你"那个给问号派活干,它却挑三拣四"的帖子,解题巧妙,解说风趣,给我留下深刻影响.
EdwardZhou 2003-10-30
  • 打赏
  • 举报
回复
To qin_ren:

收到短信。
((A1-1120>0)+(A1-1120>500)+(A1-1120>2000))的意思,是把3个逻辑运算的值叠加。您把每每个条件之间换成减号,不知是为什么。

如果我把
((A1-1120>0)+(A1-1120>500)+(A1-1120>2000))*A1*0.05
改写成:
((A1-1120>0)*0.05+(A1-1120>500)*0.05+(A1-1120>2000)*0.05)*A1
相信有助于您看明白后一个公式
((A1-1120>0)*0.05+(A1-1120>500)*0.03+(A1-1120>2000)*0.06)*A1

在后一个公式中,0.03=8%-5%;0.06=14%-8%,这是从baiyu(baiyu)的举例引入的。


qin_ren 2003-10-29
  • 打赏
  • 举报
回复
((A1-1120>0)+(A1-1120>500)+(A1-1120>2000))
这个条件判断我试了,它可以自动返回值“0、1、2” 。如果按照这样的话,
((A1-1120>0)*0.05+(A1-1120>500)*0.03+(A1-1120>2000)*0.06)*A1
返回的值又会是什么呢?我没有完全搞明白。请教各位!!
baiyu20122 2003-10-29
  • 打赏
  • 举报
回复
To EdwardZhou
原来是sunnet啊,好手就是高手!
new_dream 2003-10-29
  • 打赏
  • 举报
回复
高手如云,佩服佩服!
Yang00zi 2003-10-28
  • 打赏
  • 举报
回复
EdwardZhou 的公式非常精妙!没有用任何函数就解决了问题,这种算式应该是最快的.而且这样做完全突破了IF函数嵌套不能超过7层的限制.
请教,如果象baiyu所说的情况该怎么办呢?我正好遇到那样的情况.
BTW,你是否就是EXCELHOME的SUNNET,微软2003年EXCEL的MVP?
baiyu20122 2003-10-28
  • 打赏
  • 举报
回复
lovelxs(初学)的比较通用;
EdwardZhou() 的很巧妙,但当a*后面的不是5%,10%,15%时就不灵光了,比如是5%,8%,14%时。
youqing0616 2003-10-28
  • 打赏
  • 举报
回复
B1=
((A1-1120>0)*0.05+(A1-1120>500)*0.03+(A1-1120>2000)*0.06)*A1
EdwardZhou 2003-10-28
  • 打赏
  • 举报
回复
To Yang00zi:

(1) 后面的百分比呈不规则递增,处理起来当然比较“烦”一点;不过,只是“烦”一点点而已:
B1=
((A1-1120>0)*0.05+(A1-1120>500)*0.03+(A1-1120>2000)*0.06)*A1

(2)
没错,我就是 sunnet。我原先在这里也是用 sunnet 这个名字注册的,但因为许久不上来,忘了密码,只好再注册一个 ID。
Excelhome 论坛中精通 Excel 的高手多多,比我强的有许多。
EdwardZhou 2003-10-27
  • 打赏
  • 举报
回复
公式与公式是不一样的。
在 Excel 中,内置函数比自定义函数运行快,而单纯用运算符比内置函数更快。

求得正确的结果是第一步;
在此前提下,寻求更好的方法是第二步。
kbkingbird 2003-10-27
  • 打赏
  • 举报
回复
同意用公式~实际上都是用公式啊~~
EdwardZhou 2003-10-27
  • 打赏
  • 举报
回复
不需要使用 IF 函数。这个公式更合理,运行起来也更快:
B1=
((A1-1120>0)+(A1-1120>500)+(A1-1120>2000))*A1*0.05

lovelxs 2003-10-27
  • 打赏
  • 举报
回复
=if(a<=1120,0,if(a<=1620,a*5%,if(a<=3120,a*10%,a*15%)))
daihao2003 2003-10-27
  • 打赏
  • 举报
回复
怎么會看不太懂呢﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖

6,216

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧