设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4033|回复: 10
打印 上一主题 下一主题

劳烦高人帮我看看此公式为何不行?

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-18 22:32:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
=IF(0<=E23<4000,(E23*0.6-F23-800)*0.2,IF(4000<E23<20000,(E23*0.6-F23)*0.8*0.2,IF(20000<E23<50000,(E23*0.6-F23)*0.3-2000,IF(E23>50000,(E23*0.6-F23)*0.4-7000,,))))

主要想实现的功能:
0~4000之间,用此公式:数a*0.6-数b-800
4000~20000之间,用此公式:(数a*0.6-数b)*0.8*0.2
20000~50000之间,用此公式:(数a*0.6-数b)*0.8*0.3-2000
50000以上,用此公式:(数a*0.6-数b)*0.8*0.4-7000

请高人指点!!谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-12-18 23:41:48 | 只看该作者
晕死了,我以为是access里的问题呢!
我倒!!!

[ 本帖最后由 yh0825 于 2007-12-19 22:36 编辑 ]

点击这里给我发消息

3#
发表于 2007-12-19 01:03:47 | 只看该作者
0<=E23<4000
在E里要写成:
and(e23>=0,e23<4000)
类推。

E里用IF,不用IIF。

逻辑关系上有空,4000、20000、50000算在哪头?

虽然有人用IF打遍天下的,但由于IF只能套七层,所以这类问题建议还是用VLOOKUP的模糊查找函数:
加辅助列A1:A4分别为0、4000、20000、50000,B1:B4分别为对应的计算公式,函数为:
=vlookup(e23,辅助列!a:b,2)

点击这里给我发消息

4#
发表于 2007-12-19 10:13:18 | 只看该作者
简单的多条件也可试试 Switch

Function MatchUp (CityName As String)
    Matchup = Switch(CityName = "London", "English", CityName _
                    = "Rome", "Italian", CityName = "Paris", "French")
End Function
5#
发表于 2007-12-19 22:51:32 | 只看该作者
=IF(E23<=4000,(E23*0.6-F23-800)*0.2,IF(E23<=20000,(E23*0.6-F23)*0.8*0.2,IF(E23<=50000,(E23*0.6-F23)*0.3-2000,IF(E23>=50000,(E23*0.6-F23)*0.4-7000))))
这样试试吧,关键是0~4000之间不一定就要用0<=E23<4000来体现

不过又学了一招:  0<=E23<4000  要写成:and(e23>=0,e23<4000)


有一个问题:如果e23小于0的话,有没有公式,如果有的话,做相应修改就行了

另:pureshadow版主的方法为高级方法,俺硬是没搞成功,不知道具体如何操作的,

俺这个是小儿科的办法,嘿嘿!

[ 本帖最后由 yh0825 于 2007-12-19 23:14 编辑 ]

点击这里给我发消息

6#
发表于 2007-12-20 00:00:31 | 只看该作者
小于0可以再套一层IF
那个VLOOKUP的做法如附件,把ABCD换成你需要的四则运算就可以了。

[ 本帖最后由 pureshadow 于 2007-12-20 00:01 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2007-12-21 22:41:09 | 只看该作者
pureshadow版主做的附件我看了,受益匪浅!
但有一个问题,就是,按版主所述,我将D换成公式:=A3*0.6*0.4-7000
然后在A3输入5000001,可以在B3出来所要结果,但是如果我想在A4、A5、A6……输入不同的数据(均大于50000),然后相应的在B4、B5、B6……得到结果(A4*0.6*0.4-7000、A5*0.6*0.4-7000、A6*0.6*0.4-7000……),不知又如何操作呢?因为公式不对了呀!

点击这里给我发消息

8#
发表于 2007-12-22 13:10:58 | 只看该作者
把F2:G5改成F:G,或者$f$2: $g$5

[ 本帖最后由 pureshadow 于 2007-12-22 13:12 编辑 ]
9#
发表于 2007-12-30 14:43:40 | 只看该作者
呵呵,因为我没说清楚,所以版主还是没理解我的意思,
我将版主例子中的G2 单元格内容:“D”,换成公式:“=A3*0.6*0.4+10”
B3单元格为:=LOOKUP(A3,$F$2:F$5,$G$2:G$5)
B4单元格为:=LOOKUP(A4,$F$2:F$5,$G$2:G$5)
然后我在A3单元格输入5,则B3 单元格的值显示为:11.2
     当我在A4单元格输入200时,B3 单元格的值仍显示为:11.2。我想要的结果是:58(即A4*0.6*0.4+10)
不知如何实现?

[ 本帖最后由 yh0825 于 2007-12-30 14:48 编辑 ]
10#
发表于 2008-1-7 00:16:58 | 只看该作者
顶一下!
有劳各位了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-4-17 08:38 , Processed in 0.119061 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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