EXCEL高分求高手将公式自定义为某函数

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:22:47
刚把公式弄懂,所谓得陇望楚,再求高手将该公式定义为某函数,该怎么编??
求高手指教
公式是这样的
=IF(AND(ROUND((a*1000-INT(a*100)*10),10)=5,MOD(INT(a*100),2)=0),INT(a*100)/100,ROUND(a,2))

谢谢各位热心人,
刚看到你们的回答,,
我试一下zhuxinwei的,行的话我会再加一百分,以作为对上次zhuxinwei回答的感谢。

可以用,想问一下,必须用temp和temop1代替两串字符,而不能直接在IF后面跟两串公式吗,因为我开始就是用的IF (Round((aaa * 1000 - Int(aaa * 100) * 10), 10) AND Int(aaa * 100) Mod 2 THMN
^^^^^^^^^^^^^^^^^^^^^^^,那样好像不行,

济南火凤凰在搞些什么啊,复制粘贴流啊,至少看一下人家的问题啊
我中午也参与了公式的回答,可惜晚了,希望这次不晚
Function Xiuyue(aaa As Double) As Double
Dim temp As Double, temp1 As Double
'=IF(AND(ROUND((a*1000-INT(a*100)*10),10)=5,MOD(INT(a*100),2)=0),INT(a*100)/100,ROUND(a,2))

temp = Round((aaa * 1000 - Int(aaa * 100) * 10), 10)
temp1 = Int(aaa * 100) Mod 2

If temp = 5 And temp1 = 0 Then
Xiuyue = Int(aaa * 100) / 100
Else: Xiuyue = Round(aaa, 2)
End If
End Function
其中的xiuyue是自定义函数的名称,你可以自己改成看着舒服的
基本上还是按照公式的来,不过是工作表函数换成了VBA函数及过程
本来不用那么多行代码,为了你好理解,就这样了

自定义函数?

代码如下:
Function VBRound(A, B)
VBRound = Round(A, B)
End Function

试了挺长时间,总是发现错误,原来VBA里面的Round直接按照楼主的方法修约的,这倒省事了,一句代码就行了。

使用方法,济南火凤凰写出来了,我就不写了
****
200分的公式没让我看到啊...真遗憾。
我也写个另类的:

=ROUND(A1,2)-IF(OR(MOD(A1*10^(2+1),100)={5,25,45,65,85}),10^-(2))

在Excel中自定义函数
Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下