ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: leepang1984

[求助] 10个数字分成5组列出所有组合,谢谢

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-16 15:36 | 显示全部楼层
leepang1984 发表于 2018-5-16 15:12
非常感谢,请问您用的什么软件,看不太懂代码

你没理解错,是我水平不够,理解不了你,惭愧惭愧

TA的精华主题

TA的得分主题

发表于 2018-5-16 15:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 香川群子 于 2018-5-16 16:00 编辑
onlycxb 发表于 2018-5-16 15:31
C#,可以结合VSTO开发,应用于表格,或直接读写表格.是不是我理解错了.

结果只有那么几个组合,显然是不对的。
第1组取2个数,组合数=Combin(10,2)=45
第2组取3个数,组合数=Combin(10-2,3)=56
第3组取2个数,组合数=Combin(10-2-3-1,2-1)=4
   这里为什么要前后减去1呢?因为取数=2和第1组相同,所以应该排除和第1组重复的那些组合,所以第1个数只取剩余数中的第1个,无需再进行位置组合。
第4组取2个数,组合数=Combin(10-2-3-2-1,2-1)=2
   这里为什么也要前后减去1呢?因为取数=2和第1、第2组相同,所以应该排除和第1、第2组重复的那些组合,所以第1个数只取剩余数中的第1个,无需再进行位置组合。
第5组其实无需计算,剩余的只有唯一的一种组合了。

所以,最后组合总数=45*56*4*2*1=20160

…………
我是这样理解的。

TA的精华主题

TA的得分主题

发表于 2018-5-16 15:57 | 显示全部楼层
右拉 下拉=INDEX($A:$A,SMALL(IF(COUNTIF($H1:H1,$A$2:$A$11)=0,ROW($2:$11)),RANDBETWEEN(1,11-COLUMN(A1))))

TA的精华主题

TA的得分主题

发表于 2018-5-16 16:07 | 显示全部楼层
本帖最后由 onlycxb 于 2018-5-16 16:09 编辑
香川群子 发表于 2018-5-16 15:01
不知道楼主真实的想法到底是什么意思。

假设10个元素,按1,2,2,2,3分成5组,排除各组重复(组内也不 ...

8.png 上面这里重复的不要比如:出现一组 B,C 下面既不能再出现B,C也不能再出现C,B

5.png


TA的精华主题

TA的得分主题

发表于 2018-5-16 16:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 onlycxb 于 2018-5-16 16:35 编辑
香川群子 发表于 2018-5-16 15:55
结果只有那么几个组合,显然是不对的。
第1组取2个数,组合数=Combin(10,2)=45
第2组取3个数,组合数=C ...

第1组,取两个数字,10个数据仍有可能
第2组,取3个数据,由于第1组取值不确定,仍有10个可能
第3组同理,但仍与上述数据有重复(包括BC与BC重复,也有类似反转BC与CB重复可能)

我的理解是从全排列中,去排除这些,不知道对不对?
其实第一组便确定了最大可能,组合数=Combin(10,2)=45,多余的均是重复的
如图
9.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-16 16:41 | 显示全部楼层
香川群子 发表于 2018-5-16 15:55
结果只有那么几个组合,显然是不对的。
第1组取2个数,组合数=Combin(10,2)=45
第2组取3个数,组合数=C ...

恩,基本是这样的,只是我只会表达第一组,后面的代码写不出来,请问下怎么用vba代码表达出来,并填充到单元格呢,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-16 16:45 | 显示全部楼层
onlycxb 发表于 2018-5-16 16:23
第1组,取两个数字,10个数据仍有可能
第2组,取3个数据,由于第1组取值不确定,仍有10个可能
第3组同理,但 ...

应该不止,至少几千种组合,我再算算

TA的精华主题

TA的得分主题

发表于 2018-5-16 16:48 | 显示全部楼层
本帖最后由 onlycxb 于 2018-5-16 16:49 编辑
leepang1984 发表于 2018-5-16 16:45
应该不止,至少几千种组合,我再算算

第1组你能举出一个第46种组合,我就服了
        A,B
        A,C
        A,D
        A,E
        A,F
        A,G
        A,H
        A,I
        A,J
        B,C
        B,D
        B,E
        B,F
        B,G
        B,H
        B,I
        B,J
        C,D
        C,E
        C,F
        C,G
        C,H
        C,I
        C,J
        D,E
        D,F
        D,G
        D,H
        D,I
        D,J
        E,F
        E,G
        E,H
        E,I
        E,J
        F,G
        F,H
        F,I
        F,J
        G,H
        G,I
        G,J
        H,I
        H,J
        I,J
10个数据中,取2个,共有组合45

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-16 16:50 | 显示全部楼层
onlycxb 发表于 2018-5-16 16:07
上面这里重复的不要比如:出现一组 B,C 下面既不能再出现B,C也不能再出现C,B

哦,不是这个意思,BC是可以重复出现的,是每一组不同,比如:
A,BC,DE,FG,HIJ
A,BC,DE,FH,GIJ
这两组都是要的,因为这是2个组合,有一个组合不同也是一种组合
但是下面两个视为相同组合,如:
A,BC,DE,FG,HIJ
A,DE,BC,FG,HIJ
因为2组、3组,只是简单调换了顺序,对于这10个元素分组,没有差别

TA的精华主题

TA的得分主题

发表于 2018-5-16 16:55 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-23 10:52 , Processed in 0.033389 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表