以下Excel VBA自定义函数如何编写?

 我来答
樊嘉熙士昱
2019-08-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:618万
展开全部
你这个要求不能实现啊,我用了paramarray
关键字,用来指定一个
任意元素个数
的数组
共参考:
---------
function
shuzu(paramarray
x())
application.volatile
dim
i,
n,
m,
tmp
n
=
ubound(x)
-
lbound(x)
+
1
if
n
mod
2
<>
0
then
tmp
=
"#err_x()":
goto
1000
n
=
n
/
2
m
=
lbound(x)
for
i
=
1
to
n
tmp
=
tmp
+
x(m
+
i
-
1)
*
x(m
+
i
-
1
+
n)
next
1000:
shuzu
=
tmp
end
function
-----------
输入公式的时候,需要
成对
的元素,套用你的公式如下:
=shuzu((k5,l5,m7,n9),(m13,l15,k13,m17))
可以输入任意
成对的
元素,比如使用10个参数:
=shuzu((k5,l5,m7,n9,m10),(m13,l15,k13,m17,n20))
杭采莲箕芦
2019-08-31 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:34%
帮助的人:909万
展开全部
=SUMPRODUCT(B1:B7,C1:C7)
这个可以满足吧
平均算法
Public
Function
AVERAGEx(x
As
Range,
y
As
Range)
Dim
m
For
i
=
0
To
x.Count
-
1
If
Cells(y.Row
+
i,
y.Column).Value
<>
0
Then
m
=
m
+
Cells(x.Row
+
i,
x.Column).Value
End
If
Next
AVERAGEx
=
m
End
Function
这是自定义函数,试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柯芷蝶丹昕
2019-02-23 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:814万
展开全部
1.怎么判断这些不连续的列?无论是写function还是用原有的函数,这个你都得说清楚
2.=average(if(A1:F1<>0,A2:F2))
crtl+shift+enter结束公式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代干家旎旎
2019-04-04 · TA获得超过3755个赞
知道大有可为答主
回答量:3004
采纳率:28%
帮助的人:189万
展开全部
直接用函数比较简单:
=Sumproduct(A1:N1,B1:N1)/N
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式