关于EXCEL中的if函数 写的一个命令 望高手指点

有三个值,A1,B1,C1,当最大值和最小值中有一个与中间值的差超过中间值的15%时,输出中间值,当最大值和最小值与中间值的差都超过中间值的15%时,输出无效,当最大值和最小值与中间值的差都不超过中间值的15%时,输出三个数的平均值
=IF(OR(AND((MAX(A1,B1,C1)-MEDIAN(A1,B1,C1))/MEDIAN(A1,B1,C1)>0.15,(MEDIAN(A1,B1,C1)-MIN(A1,B1,C1))/MEDIAN(A1,B1,C1)<=0.15),AND((MAX(A1,B1,C1)-MEDIAN(A1,B1,C1))/MEDIAN(A1,B1,C1)<=0.15,(MEDIAN(A1,B1,C1)-MIN(A1,B1,C1))/MEDIAN(A1,B1,C1)<0.15)),MEDIAN(A1,B1,C1),IF(AND((MAX(A1,B1,C1)-MEDIAN(A1,B1,C1))/MEDIAN(A1,B1,C1)>0.15,(MEDIAN(A1,B1,C1)-MIN(A1,B1,C1))/MEDIAN(A1,B1,C1)>0.15),"无效",IF(AND((MAX(A1,B1,C1)-MEDIAN(A1,B1,C1))/MEDIAN(A1,B1,C1)<=0.15,(MEDIAN(A1,B1,C1)-MIN(A1,B1,C1))/MEDIAN(A1,B1,C1)<=0.15),avg(A1,B1,C1))))
请大神看一下 哪个地方有问题 或是有更简单的方法 ~~万分感谢!

第1个回答  2013-03-23
若a1=3,b1=4,c1=3
则=if(a1=c1,"A","B"),返回A,
则=if(a1=b1,"A","B"),返回B,
第2个回答  2013-03-23
=if(a1=b1,"相等","不相等")
第3个回答  2013-03-23
我可以用宏给你写个函数
使用起来也方便
如果可以的话联系
[email protected]追问

收费吗 亲~

追答

- -! 我在百度还没收费过呢
把下面代码拷贝到后台宏(注意excel 要启用宏,或宏安全性设置低才能启用)
然后在表格里面直接 =fun(a1:a3) 就可以得到结果了 有问题欢迎追问
Public Function fun(rng As Range)
Dim f As WorksheetFunction
Set f = WorksheetFunction

Dim med1 As Double
Dim max1 As Double
Dim min1 As Double
med1 = f.Median(rng)
max1 = f.Max(rng)
min1 = f.Min(rng)
Dim n As Integer
n = 0

If Abs(med1 - max1) / med1 > 0.15 Then n = n + 1
If Abs(med1 - min1) / med1 > 0.15 Then n = n + 1
If n = 1 Then fun = med1: Exit Function
If n = 2 Then fun = "无效": Exit Function
fun = f.Average(rng)
End Function

追问

万分感谢 活雷锋啊 我先试试~

本回答被提问者采纳
第4个回答  2013-03-23
不知道你要解决什么问题,光问if的用法吗?追问

补充了一下 麻烦给看看 谢谢哈