excel自动生成排列组合公式?1、在A1单元格输入=INT(MOD((ROW(A1)-1)/2^(COLUMN(A1)-1),2))2、公式往右复制或填充至N列(14列)3、选上A1-N1,复制或填充至16384行(14位数,2个数字的组合共有2的14次方种)(ctrl+g,可以快速定位到N16384单元格,然后用shift+鼠标可以快速选择区域)4、那么,excel自动生成排列组合公式?一起来了解一下吧。
操作步骤:
1、在A1单元格输入=INT(MOD((ROW(A1)-1)/2^(COLUMN(A1)-1),2))
2、公式往右复制或填充至N列(14列)
3、选上A1-N1,复制或填充至16384行(14位数,2个数字的组合共有2的14次方种)
(ctrl+g,可以快速定位到N16384单元格,然后用shift+鼠标可以快速选择区域)
4、在01单元格输入=A1B1C1D1E1F1G1H1I1J1K1L1M1N1
公式往下填充或复制
5、复制O列,粘贴为数值
6、用查找替换功能(ctrl+F),把0、1分别换成B、P或P、B
不论A列和B列有多少个数据,在C1单元格输入如下公式:
=INDEX(A:A,QUOTIENT(ROW()-1,COUNTA(B:B))+1,1)&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1,1)
回车确认后,向下拉公式,拉到结果明显超出为止。最后把C列超出的单元格删除即可。
如果A/B两列继续增加数据,只需要将C列公式继续向下拉即可。
【注1】C列使用该公式时,A/B两列不能有空行,否则C列结果会出现差错。
【注2】使用该公式时,三列均不能有标题行,否则结果也会出差错。但如果你理解了该公式中每个函数的含义,就可以自行修改公式。
假定你现在有A列B列C列D列E列共5列数据,每列数据个数不定,生成所有排列组合的公式
=INDIRECT("A"&INT(MOD(ROW(A1)-1,COUNTA(A:A)*COUNTA(B:B)*COUNTA(C:C)*COUNTA(D:D)*COUNTA(E:E))/(COUNTA(B:B)*COUNTA(C:C)*COUNTA(D:D)*COUNTA(E:E)))+1)&INDIRECT("B"&INT(MOD(ROW(A1)-1,COUNTA(B:B)*COUNTA(C:C)*COUNTA(D:D)*COUNTA(E:E))/(COUNTA(C:C)*COUNTA(D:D)*COUNTA(E:E)))+1)&INDIRECT("C"&INT(MOD(ROW(A1)-1,COUNTA(C:C)*COUNTA(D:D)*COUNTA(E:E))/(COUNTA(D:D)*COUNTA(E:E)))+1)&INDIRECT("D"&INT(MOD(ROW(A1)-1,COUNTA(D:D)*COUNTA(E:E))/(COUNTA(E:E)))+1)&INDIRECT("E"&MOD(ROW(A1)-1,COUNTA(E:E))+1)下拉填充
寻找一个软件来生成由两个数字组成的10位数的所有排列组合,也许我们可以尝试一下Excel。首先,在A1单元格中输入公式:=DEC2BIN(ROW(A1)-1,10),然后向下拖动填充到A512单元格。接着,在A513单元格输入公式:=1&DEC2BIN(ROW(A1)-1,9),并将其向下拖动到A1024单元格。这样,Excel就能生成所需的排列组合。
DEC2BIN函数将十进制数转换为二进制数。通过调整ROW(A1)-1的数值范围,我们可以生成从0到1023的所有十位二进制数。公式中的1&DEC2BIN(ROW(A1)-1,9)则是将一个1与九位二进制数连接在一起,从而生成从1000000000到1111111111的十位数。
值得注意的是,这种方法生成的数是二进制形式的。如果需要将其转换为十进制形式,可以使用DEC2BIN的逆函数BIN2DEC。在Excel中,可以将生成的二进制数复制到新的列中,然后在该列中输入公式:=BIN2DEC(A1)来转换成十进制数。
尽管这种方法可以生成所需的排列组合,但它仅限于由两个数字组成的10位数。如果需要生成更大的数或者更复杂的排列组合,可能需要使用更专业的编程工具或软件。
如图所示公式法,C1公式如下,再下拉复制到出现空格为止:
=INDEX(A:A,INT((ROW()-1)/COUNTA(B:B))+1)&" "&IF(ROW()>COUNTA(A:A)*COUNTA(B:B),"",INDEX(B:B,MOD((ROW()-1),COUNTA(B:B))+1))
以上就是excel自动生成排列组合公式的全部内容,需要把“级别“与“等级“的所有组合列出来,有三个级别、四个等级,所以组合的可能性有3*4=12种。我们来分步实现。第一步:级别重复四次 公式:=INDEX($A$2:$A$4,INT((ROW(A1)-1)/4)+1)因为“级别”要重复四次,所以用INT((ROW(A1)-1)/4)。ROW(A1)随着公式向下填充,内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。