我需要生成一组数字的所有可能组合, 我知道可以使用任何编程语言生成它。 我想知道如果有可能在MS Excel中有一个公式?
例如。对于3位数字123
ColA:ColB
1 : 123
2 : 132
3 : 213
4 : 231
5 : 312
6 : 321
解决方案应该是可扩展的,因为我希望将其用于9位数字。
问候
答案 0 :(得分:0)
您可以只计算数字(111111111_111111112 ...),将所有数据放在一列中,然后对于每一行,使用middle()函数获取一个字符并将其转换为文本,每个数字一列。或者做一些划分和模数来抓住每个数字。有很多方法。
如果你没有得到答案,我可以在早上写出一个公式。 :)
是否允许重复,如111?或者它们都是唯一的数字?
答案 1 :(得分:0)
与此处的一些评论相反,我没有为此找到Excel解决方案。所以这是我的方法:
公式:
<{1}}中的:K1
=COUNTA(A1:I1)
中的:
A2
此公式被复制到右=INDEX($A$1:$J$362881,ROW()+$L2,COLUMN()+IF($K2+COLUMN()=$K$1+$K2,-$K2,IF($K2+COLUMN()>=$K$1,1,0)))
。
I2
中的:
K2
<{1}}中的:=IF(ROW()<=FACT($K$1),$K$1+1-MATCH(0,MOD(ROW()-1,FACT($K$1+1-{1,2,3,4,5,6,7,8,9})),-1),#N/A)
第2行可以根据需要完全向下复制。
现在在L2
我们可以输入最多9个值,从中计算排列。