excel 排列组合求和比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何实
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 01:51:25
excel 排列组合求和比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何实
excel 排列组合求和
比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何实现,如可以请解释的详细一点,如果太复杂,或者根本无法实现就算了
excel 排列组合求和比如在A1:A20有20个不同的数字,要求在B列到F列分别选出5个不同数字作为组合,并且在G列进行求和,请问如何实现,并且在下方N行内排列出所有的组合和并且求和,请问如何实
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
详见附件:↓