Office中国论坛/Access中国论坛

标题: 请各位高人救命阿 [打印本页]

作者: zero409    时间: 2008-4-13 10:32
标题: 请各位高人救命阿
初始值A=20,J=40,k=60  C,D,L为已知数据 可假设为常数

1,当A+B>=D ,
E=D,
F=0,
H=0


2, A+B<D, F>=C*L,
E=A+B,
F=(D-E)*J/L,   
H=0


3, A+B<D, C(D-E) <= J <C*L ,
E=A+B,
F=C(D-E),
H=0


4, A+B<D, C(D-E)>J ,
E=A+B,
F=J,
H=C(D-E)-F



这是条件的简化版 涉及数千行数据 求E,F,H的函数公式 向各位请教了 请高手帮帮忙
万分感激!

[ 本帖最后由 zero409 于 2008-4-13 18:49 编辑 ]
作者: tmtony    时间: 2008-4-13 11:07
用自定义函数,就很简单
作者: zero409    时间: 2008-4-13 11:15
函数怎么写? 小弟以前很少用Excel  这个属于临时入手 高手帮帮忙
作者: tmtony    时间: 2008-4-13 11:42
既然要求EFH的值,怎么条件中还会出现e    C(D-E) <= J <C*L
作者: zero409    时间: 2008-4-13 11:52
上一行纪录与下一行纪录的数据是循环调用的

(下一行A)  =  (上一行A)  -  (上一行E)
(下一行J ) =  (上一行的J)  -  (上一行的F)
(下一行K)  = (上一行的K)  -  (上一行的H)

[ 本帖最后由 zero409 于 2008-4-13 18:51 编辑 ]
作者: tmtony    时间: 2008-4-13 18:14
能否把您的Excel文件传到这里, 有一些示例数据,我直接在里面修改给你
作者: zero409    时间: 2008-4-13 18:33
标题: 数据
附件:数据
作者: zero409    时间: 2008-4-13 18:47
标题: 简化转换用到的参数关系
WU=A  P=B  EP=D  EU=E  EL=F   ED=H  WL=J  WD=K  WLM=L   C为常数
作者: tmtony    时间: 2008-4-13 21:11
C(D-E) <= J <C*L
H=C(D-E)-F
这些公式中 C与(D-E)是什么运算呢
作者: tmtony    时间: 2008-4-13 21:12
你试下面的函数
Public Function MyGetValue(A As Double, B As Double, C As Double, D As Double, E As Double, F As Double, H As Double, J As Double, K As Double, L As Double)
If A + B >= D Then
    E = D
    F = 0
    H = 0
    Exit Function
End If

If A + B < D And F >= C * L Then
    E = A + B
    F = (D - E) * J / L
    H = 0
    Exit Function
End If

If A + B < D And (J >= C(D - E) And J < C * L) Then
    E = A + B
    F = C(D - E)
    H = 0
    Exit Function
End If

If A + B < D And C(D - E) > J Then
    E = A + B
    F = J
    H = C(D - E) - F
    Exit Function
End If
End Function

根据你的功能来修改
作者: zero409    时间: 2008-4-16 07:55
原帖由 tmtony 于 2008-4-13 21:11 发表
C(D-E)  


乘法运算
作者: zero409    时间: 2008-4-16 07:59
谢谢  非常感谢站长大哥的热心帮助
作者: weiweigege111    时间: 2008-7-20 17:30
多美的公式!我赞美“你”




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