返回目录:excel表格制作
1、组合:计算从给定数目的对象集合中提取若干对象的组合数。利用函数 COMBIN 可以确定一组对象所有可能的组合数。
语法百:COMBIN(number,number_chosen)
Number 项目的数量。
Number_chosen 每一组合中项目的数量。
比如:从9个数字球中,随机抽3个球,共有多少种组合,在excel任一单元格输入“=COMBIN(9,3)”,回车。结果就会得到。84种
2、排列:返回从给定数目的对象集合中选取的若干度对象的排列数。排列为有内部顺序的对象或事件的任意集合或子集。排列与组合不同,组合的内部顺序无意义。此函数可用于彩票抽奖的概率计算。内
语法:PERMUT(number,number_chosen)
Number 表示对象个数的整数。
Number_chosen 表示每个排列中对象个数的整数。
比如:从9个同学,随机抽3个同学,排列为一列,共有多少个排列方式,在容excel任一单元格输入“=PERMUT(9,3)”,回车。结果就会得到。504种
可以参考我原来的一个回答《数字1至10,每5个数字作为一个组合。一共有多少个组合?如何在EXCEL中列e799bee5baa6e997aee7ad94e4b893e5b19e335出来》
网页链接
用excel2016自带的power query实现。2010或2013可以安装插件。
思路:先设计一个包含1-10的表,对这个表进行4次自关联,再对形成的5个数字中,不重复的内容进行保留即可。
添加自定义列“a”
通过复制粘贴,形成第二个查询:表1(2)
切换到表1(2),对表1进行合并查询
对上图中查询结束后出现的内容右上角的小箭头点一下,只保留列1
重复此操作,变成如下结果
删除自定义列,并把其他几列分别改名为列2,列3,列4,列5
新添加一个自定义列,如图,内容为
Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},1))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},2))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},3))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},4))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},5))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},6))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},7))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},8))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},9))+Number.From(List.Contains({[列1],[列2],[列3],[列4],[列5]},10))
意思是,看在列1-列5中,是否含1,是否含2……,再把它们相加,就可以判断,如果这个和为5,就说明不重复了
对新加的列进行筛选,只留下5.注意,如果列表中没有5,就可能加载不全,点一下右下角的“加载更多”
最后,删除自定义列,再点关闭并上载就可以了。
D1公式copy:zd
=OFFSET($A$1,INT((ROW()-1)/COUNTA(B:B)/COUNTA(C:C)),)
&OFFSET($B$1,MOD(INT((ROW()-1)/COUNTA(C:C)),COUNTA(B:B)),)
&OFFSET($C$1,MOD((ROW()-1),COUNTA(C:C)),)
如下图: