excel 排列组合求和

比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何... 比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何实现,不胜感激,如可以请解释的详细一点,谢谢大神们,如果太复杂,或者根本无法实现就算了 展开
 我来答
保利江山
2013-03-24 · TA获得超过2242个赞
知道小有建树答主
回答量:1040
采纳率:60%
帮助的人:532万
展开全部

  20选5组合数共15504个, 用公式恐怕很难做到, 即使有了公式, 右拉再下拉也够费力的了. 所以建议用VBA(启用宏), 不要嫌麻烦, 毕竟这是一劳永益的事.


  按 ALT+F11 组合键打开代码窗口, 粘贴下面代码, 然后 按F5运行, 运行成功后会有一个"ok"的提示.


  • Sub 组合()

  • Dim arr(15504, 5) '20选5的组合数为15504

  • For a = 1 To 16

  • For b = a + 1 To 17

  • For c = b + 1 To 18

  • For d = c + 1 To 19

  • For e = d + 1 To 20

  • arr(n, 0) = Cells(a, 1)

  • arr(n, 1) = Cells(b, 1)

  • arr(n, 2) = Cells(c, 1)

  • arr(n, 3) = Cells(d, 1)

  • arr(n, 4) = Cells(e, 1)

  • arr(n, 5) = Cells(a, 1) + Cells(b, 1) + Cells(c, 1) + Cells(d, 1) + Cells(e, 1)

  • n = n + 1

  • Next e, d, c, b, a

  • [b1].Resize(15504, 6) = arr

  • MsgBox "ok"

  • End Sub


  

  详见附件:↓


jjchangyuan
2013-03-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:4278
采纳率:90%
帮助的人:1163万
展开全部
复杂倒不算复杂,但数据太大,几乎没法完成,因为不考虑数字的排位顺序的组合就有15504种,若考虑则有1860480种。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wu_zhenjiu
科技发烧友

2013-03-24 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:3.1万
采纳率:79%
帮助的人:1.2亿
展开全部
使用二个辅助列,假设H和I列,以下步骤完成:
1、在H1中输入公式:=RAND(),下拉到H20;
2、在I1中输入公式:=RANK(H1,H$1:H$20) 下拉到I20;
3、B1中输入公式:=VLOOKUP(COLUMN(A1),IF({1,0},$I$1:$I$20,$A$1:$A$20),2,0),右拉到F1;
4、在G1中输入公式:=SUM(B1:F1)

通过以上步骤完成,从20个数中随机抽取5个不重复的数,并求和。
通过按F9,改变数据,每按一次将在B1到G1中得到一组新的数据。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
眼眶的湿润
2013-03-24 · TA获得超过3280个赞
知道小有建树答主
回答量:806
采纳率:50%
帮助的人:595万
展开全部
不好意思这的确非常复杂,光用函数肯定是无法解决的,因为涉及到随机选取。
只能依靠VBA,可能只有大神能帮你,不过在这里提问基本上不会有人替你实现这样的功能。
十分抱歉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SIR007_001
2013-03-24 · TA获得超过555个赞
知道小有建树答主
回答量:464
采纳率:66%
帮助的人:422万
展开全部
确实挺复杂的,(思路)方法如下:
用VBA 首先求出C 20 5 (20个数选出的组合情况)的组合情况
共有 20*19*18*17*16/(5*4*3*2*1)=15504 种
将其组合情况例如 1 2 3 4 5 付给A列作为其后的坐标值 就变为 A1 A2 A3 A4 A5
依次将其组合填到你需要的位置 对A1+A2+A3+A4+A5求和即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式