在excel中如何设计一个自定义函数完成如下要求

有如下一列数据:比如A列1019790959698928889939895929785808691829287938982798187787588717979815988... 有如下一列数据:比如A列
101 97 90 95 96 98 92 88 89 93 98 95 92 97 85 80 86 91 82 92 87 93 89 82 79 81 87 78 75 88 71 79 79 81 59 88 88 79 82 71 83 79 78 78 64 79 63 74 68 57 0 61 63 39 0 57 64
如何设计一个自定义函数对其完成:1、排序(降序)2 按降序后的顺序取前N(比如50)个数进行求和或求平均。(是个数不是名次)。
展开
 我来答
西门无刀
2010-05-18 · TA获得超过614个赞
知道小有建树答主
回答量:669
采纳率:100%
帮助的人:430万
展开全部
工具——宏——录制新宏
将你需要做的程序做一遍,停止录制
看看代码,以后运行就可以了
msh383
2010-05-18
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
需要用VBA。 需要的话做个文件给你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chengcheng_zy
2010-05-18 · TA获得超过6468个赞
知道大有可为答主
回答量:2741
采纳率:25%
帮助的人:3323万
展开全部
不要自定义函数也可以解决的

=sum(small(a1:a100,row(1:50)))
=average(small(a1:a100,row(1:50)))

假设数据范围为A1:A100,第一个数组公式是求和,第二个是求平均

PS:数组公式是以ctrl+shift+enter结束,不是enter
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stmob
2010-05-18 · TA获得超过6823个赞
知道大有可为答主
回答量:1205
采纳率:0%
帮助的人:1496万
展开全部
不用自定义函数。
EXCEL已经提供了

1.直接输入
=LARGE(A:A,A1),然后下拉填充即可。

2.数组输入
要事先选择区域比如b1:B50
然后在B1中输入
=LARGE(A:A,A1:A50)
按CTRL+SHIFT+ENTER录入。
---------------------------------
前50求和:=SUM(LARGE(A:A,A1:A50)),按CTRL+SHIFT+ENTER录入。
前50求平均:=AVERAGE(LARGE(A:A,A1:A3)),按CTRL+SHIFT+ENTER录入。

祝你成功!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiefzjh
2010-05-18 · TA获得超过9086个赞
知道大有可为答主
回答量:7013
采纳率:37%
帮助的人:2262万
展开全部
这个用数组公式就可以轻松完成

求和:
=SUM((RANK(A1:A25,A1:A25,0)<5)*(A1:A25))

求平均值:
=SUM((RANK(A1:A25,A1:A25,0)<5)*(A1:A25))/SUM(--(RANK(A1:A25,A1:A25,0)<5))

这是示例,A1:A25范围内降序第五名之前(不含No.5)的求和,求平均

数组公式在完成输入后要按Ctrl+shift+enter,自动在两边加 { }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式