问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Excel实现一组数据的组合

发布网友 发布时间:2022-04-23 02:22

我来回答

5个回答

热心网友 时间:2023-10-11 14:05

我有个自己编写的全组合工具,可以帮你完成C取n的工作,不过有多少列,你就要运行多少次,当然实际数据需要你自行填写:

如图,比如你的第二列,你可以把数据放到第二行,总数输入6,取样输入3,然后点击按钮,程序会自动列出所有组合。

不过你需要把每列的数据拷贝到其他表完成最后的合并。

提示,如果你输入第二行数据时,按照大到小的方式,就应该可以得到你需要的次序

希望可以帮到你

热心网友 时间:2023-10-11 14:06

首先按Alt+F11 进入VBA代码编辑器
找到存放数据对应表名,双击打开,复制以下代码,并运行

Sub test()
Dim Arr(), n, Temp
Arr = Range("A1").CurrentRegion
'==================================================================================
'从高到低排序
For j = 1 To UBound(Arr, 2)
For i = 1 To UBound(Arr)
For k = i To 2 Step -1
If Arr(k - 1, j) < Arr(k, j) Then
Temp = Arr(k - 1, j)
Arr(k - 1, j) = Arr(k, j)
Arr(k, j) = Temp
End If
Next
Next
Next

'==================================================================================
'输入内容
Range("A15:C" & UBound(Arr) + 15).Value = Application.Transpose(Arr)
End Sub追问这个运行结果好像是存放在了当前表里,而且也不是全展开,抱歉,我对VBA的编程非常不熟悉,所以运行的效果非常差,不过还是感谢您的回答

热心网友 时间:2023-10-11 14:06

您的列只显示到W,不知后面有没有,W对应的列数是23,如果后面还有,自己改动,还有,我的程序是按由小到大的原始顺序来的,所以结果和您的顺序不一样。
方法是,工具,宏,宏,新建宏,删除原来代码,复制以下代码。
运行时点工具,宏,宏,选中cal,点执行,如果被阻止的话,从宏子菜单里点安全性,选择最低,保存,关闭,重新打开就行了。

Sub cal()
Sheets("sheet1").Select '选中表1
Row = 0
For col = 1 To 23 '23是W列的数字形式,如果后面还有,作相应改动。
i = 1
Row = Row + 1
Do While Sheets("sheet1").Cells(i + 2, col) <> "" '循环直到当前列的倒数第3个数字
j = i + 1
Do While Sheets("sheet1").Cells(j + 1, col) <> "" '循环直到当前列的倒数第2个数字
k = j + 1
Do While Sheets("sheet1").Cells(k, col) <> "" '循环直到当前列的最后1个数字
Sheets("sheet2").Cells(Row, 3) = Sheets("sheet1").Cells(i, col)
Sheets("sheet2").Cells(Row, 2) = Sheets("sheet1").Cells(j, col)
Sheets("sheet2").Cells(Row, 1) = Sheets("sheet1").Cells(k, col)
k = k + 1
Row = Row + 1
Loop
j = j + 1
Loop
i = i + 1
Loop
Next
End Sub

热心网友 时间:2023-10-11 14:07

这个需要用到编程了

热心网友 时间:2023-10-11 14:07

Vba
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哥们,我是黑龙江齐齐哈尔现在高一的,想报考中国刑警学院,什么分数线啊... 没有驾驶证车辆查到有违章怎么办 广州岭南印象园景区介绍 ...从新选像我这样的人不知道读什么又懒又不想背书。 哎呀哎呀好烦阿要期末考试了,我不想背书 高考我是文科的光不想背书怎么办呢 我不想背书啊啊啊啊,考第一真难,现在的初中生涯好难熬,哪位大神教我... 现在初二了 不想背书 感觉好无聊 只想玩 但是成绩还是不错的 我该... ...时候学习还中等。现在基本一窍不通。也不想背书,身边也没人背,上课... [精选]菊花茶的副作用 如何让excel自动排列组合 《道德讲堂》的主题都有哪些? excel怎样用函数实现:把满足某个条件数据的重新组合成一个新数据表? 怎么(excel)把三组数据做在一个图里呢? excel如何做排列组合? excel 怎么组合数字? excel怎么把几个数列的数据排列出不同的组合? excel怎样让数据自动组合? 良习修美德,好好做个人道德讲堂观后感,等下就要用急急急。万分感谢 excel数据自动组合? 关于道德讲堂的诚信的观后感 急! 用excel生成排列组合,从字母a到z中任意选4个字母生成排列组合,将所有的排列组合都生成出来。 excel怎么进行数据组合 为什么阴茎老硬起来很难,软下去很快, 受刺激会变硬但是很快就会软,什么问题? 今年感觉想做可硬不长时间,软的也快,腿也没劲,好像劲使到东西上,有时软也流。 勃起后很快就软下来 我这硬里快,软的也快,时间还短,我想买几个疗程用用,是不是货到付款吗 我早泄怎么治 时间不长 硬的快 软的也快 第一次硬起来很快就软了后面几个小时也硬不起来了怎么办 excel数据- 组合是什么意思 怎么用 怎么将EXCEL一组数据相互组合? excel 两列数据怎么把组合的可能全部做出来? 学钢琴第一步先学什么? 怎样自学钢琴? 钢琴自学的话先学五线谱还是简谱? 钢琴入门应该先学什么 想学习钢琴必须先学习乐理吗? 钢琴学习顺序 初学自学钢琴首先要学什么? 自己在家如何自学钢琴? 自学钢琴应该从哪里开始下手? 学钢琴要从哪本教材起步? 怎样自学弹钢琴 学习钢琴首先要学习什么? 新手自学钢琴? 钢琴初学者要先学些什么 自学钢琴的学习顺序 钢琴指法练习口诀 钢琴零基础入门教程 怎样自学钢琴 苹果手机怎么设置变双卡双待机?