EXCEL怎么用VBA设置多层if函数条件

请问怎么用VBA代码设置当A1,B1的对应市场占有率在所属的区间内,能够读取对应的折扣?请问在工作簿还是模块里编写?谢谢能不能编段代码看看?。。。我是初学者。。... 请问怎么用VBA代码设置当A1,B1的对应市场占有率在所属的区间内,能够读取对应的折扣?请问在工作簿还是模块里编写?谢谢
能不能编段代码看看?。。。我是初学者。。
展开
 我来答
夏日绝2333
高粉答主

2018-03-31 · 欢迎喜欢文化的伙伴一起交流
夏日绝2333
采纳数:882 获赞数:63285

向TA提问 私信TA
展开全部

Function zhekou(zhanyoulv As Double, t As Integer)

If zhanyoulv < 0.035 Then
If t <= 15 Then
zhekou = 0
Else
If t <= 30 And t > 15 Then
zhekou = 0
Else
If t > 30 Then
zhekou = 0
End If
End If
End If

Else
If zhanyoulv >= 0.035 And zhanyoulv <= 0.04 Then
If t <= 15 Then
zhekou = 0.8
Else
If t <= 30 And t > 15 Then
zhekou = 1.2
Else
If t > 30 Then
zhekou = 1.5
End If
End If
End If
你可以这样试一试

Else
If zhanyoulv > 0.04 And zhanyoulv <= 0.045 Then
If t <= 15 Then
zhekou = 1
Else
If t <= 30 And t > 15 Then
zhekou = 1.5
Else
If t > 30 Then
zhekou = 2
End If
End If
End If
End If
End If
End If



End Function

Excel

Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。

眯住眼串针
科技发烧友

2018-02-13 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3114万
展开全部

权当A1为占有率、B1为重量、折扣输出到C1单元格

Sub test()
Dim L, T, X
L = Range("A1")
T = Range("B1")
If L < 0.035 Then
    If T <= 15 Then
        X = 0
    ElseIf L < 30 Then
        X = 0
    Else
        X = 0
    End If
 ElseIf L < 0.04 Then
    If T <= 15 Then
        X = 0.8
    ElseIf L < 30 Then
        X = 1.2
    Else
        X = 1.5
    End If
ElseIf L < 0.045 Then
    If T <= 15 Then
        X = 1
    ElseIf L < 30 Then
        X = 1.5
    Else
        X = 2
    End If
ElseIf L < 0.055 Then
    If T <= 15 Then
        X = 1.5
    ElseIf L < 30 Then
        X = 2.5
    Else
        X = 3.5
    End If
  ElseIf L < 0.065 Then
    If T <= 15 Then
        X = 2
    ElseIf L < 30 Then
        X = 3
    Else
        X = 4
    End If
ElseIf L < 0.08 Then
    If T <= 15 Then
        X = 2.5
    ElseIf L < 30 Then
        X = 3.5
    Else
        X = 4.5
    End If
Else
    If T <= 15 Then
        X = 3
    ElseIf L < 30 Then
        X = 4
    Else
        X = 5
    End If
 End If
 Range("C1") = X
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiliming001
推荐于2018-02-13 · TA获得超过377个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:347万
展开全部
Function zhekou(zhanyoulv As Double, t As Integer)

If zhanyoulv < 0.035 Then
If t <= 15 Then
zhekou = 0
Else
If t <= 30 And t > 15 Then
zhekou = 0
Else
If t > 30 Then
zhekou = 0
End If
End If
End If

Else
If zhanyoulv >= 0.035 And zhanyoulv <= 0.04 Then
If t <= 15 Then
zhekou = 0.8
Else
If t <= 30 And t > 15 Then
zhekou = 1.2
Else
If t > 30 Then
zhekou = 1.5
End If
End If
End If
Else
If zhanyoulv > 0.04 And zhanyoulv <= 0.045 Then
If t <= 15 Then
zhekou = 1
Else
If t <= 30 And t > 15 Then
zhekou = 1.5
Else
If t > 30 Then
zhekou = 2
End If
End If
End If
End If
End If
End If

End Function
追问
对是对了,不过用select case编的话会简洁点,谢谢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿笨猫053
2012-02-08 · TA获得超过651个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:302万
展开全部
excel 扣税金额:根据合计工资:1501-2000的部分扣5%;2001-3000的部分扣10%;3001以上扣20%
=IF(AND(A1>=1501,A1<=2000),A1*5%,IF(AND(A1>=2001,A1<=3000),A1*10%,IF(A1>3001,A1*20%,0)))
给你个例子,自己学习一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中子zh
2012-02-07 · TA获得超过4660个赞
知道大有可为答主
回答量:3683
采纳率:0%
帮助的人:2815万
展开全部
应该用vlookup函数就可以搞定,第1参数为A1,通过B1来确定第3参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式