Office中国论坛/Access中国论坛

标题: [讨论]如何表达这个函数? [打印本页]

作者: xhsea    时间: 2005-7-28 19:31
标题: [讨论]如何表达这个函数?
     请在附件中,用一个函数求出一个范围的函数值。即手动输入一个范围内的数值,自动计算出那个对应范围的取值![attach]12074[/attach]



[此贴子已经被作者于2005-7-28 14:56:12编辑过]


作者: 心可以清    时间: 2005-7-28 22:23
附件呢?
作者: xhsea    时间: 2005-7-28 22:41
为什么我的附件传不上啊?
作者: xhsea    时间: 2005-7-28 22:58
我发现在FIRFOX浏览器下不能够上传附件。还有很多论坛页面变形了。
作者: xhsea    时间: 2005-7-29 22:28
哪位大哥帮帮我啊


    计费额  收费基价    200  9    500  18    1000  36    3000  108    5000  172    8000  243    10000  306    20000  567    40000  1053    60000  1512    80000  1962    100000  2394    200000  4455     说明:  输入你的额度范围为200~200000,采用插值法计算费用   


  如果输入值为400,那么收费计算基数就为9,再计算插值部分   


  即输入值为400,计算出的费用=9+(18-9)/(500-200)*(400-200)   


  如果输入值为2000,那么收费计算基数就为36,再计算插值部分   


  即输入值为2000,计算出的费用=36+(108-36)/(3000-1000)*(2000-1000)   


  也就是说当输入一个数值,先判断属于哪个范围,再确定计算基数,最后用插值法计算出费用值   


  


    要求:  用一个表达式在自动计算出费用这个单元格表示出输入的数值属于哪个范围,再求出费用值   


  E2为手动输入单元格,E3为自动查找E2后,计算得出的值






作者: 晓月清风    时间: 2005-7-31 19:05
新建一个按钮,输入以下代码rivate Sub CommandButton1_Click()

Dim i As Integer, j As Integer

i = Sheets("函数表达").[e2]

Select Case iCase 200 To 500

j = Val(9 + (18 - 9) / (500 - 200) * (i - 200))

Case 501 To 1000

j = 18 + (36 - 18) / (1000 - 200) * (i - 200)

'中间这部分自己写,一直写到Case 100001 to 200000

'

'

'Case Else

MsgBox "数值必须大于200小于200000"

End SelectSheets("函数表达").[e3] = j

End Sub


作者: xhsea    时间: 2005-8-2 22:33
定义的i As Integer,那么所得的数值为整数,怎样表达两位小数或者三四位小数的结果呢?
作者: 晓月清风    时间: 2005-8-3 17:32
可以将i定义为DOUBLE




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3