1樓:姓王的
詳見附件,雙擊h1即可。記得要啟用巨集喲
2樓:匿名使用者
按附圖組織資料,然後分別輸入以下公式,然後向下填充公式版
=offset(a$1,int((row(a1)-1)/(6*5*5*5)),)
=offset(b$1,mod(int((row(b1)-1)/(5*5*5)),6),)
=offset(c$1,mod(int((row(c1)-1)/(5*5)),5),)
=offset(d$1,mod(int((row(d1)-1)/5),5),)
=offset(e$1,mod(row(e1)-1,5),)
詳見權附圖附件
3樓:匿名使用者
建議您用vba來完成吧,迴圈處理
excel 排列組合公式?
4樓:有錢哥哥
excel有排列組合公式,permut為排列函式,combin為組合函式。
1、電腦開啟excel**,輸入組合函式=combin(50,3)。
2、回車就會得到19600。
3、輸入排列公式=permut(50,3)/permut(3,3)。
4、回車就可以了。
5樓:匿名使用者
=combin(50,3)
6樓:匿名使用者
permut(50,3)
7樓:
=permut(50,3)/permut(3,3)
..........
查一下幫助吧,只找到了排列的,沒找到組合的
8樓:終清韻毛霽
如果a列的1在a1,c1輸入公式:
下拉填充8個單元格即可按照提問者要求排列。
9樓:沈田談安順
private
subcommandbutton1_click()
dimarr
range("a1:q65536").clearcontents
arr=
[a1:q65536]l=
1m=1
fori1=1
to28
fori2=i1
+1to29
fori3=i2
+1to30
fori4=i3
+1to31
fori5=i4
+1to32
fori6=i5
+1to33
arr(l,m)=
i1&""
&i2&"
"&i3&
""&i4
&""&
i5&""
&i6l=
l+1if
l=65537
thenm=
m+1l
=1endif
next
i6next
i5next
i4next
i3next
i2next
i1forl=
1to10form=
1to17cells(l,m)=
arr(l,
m)next
mnext
l'[a1:q65536]
=arr
endsub
(33*32*31*30*29*28)/(6*5*4*3*2*1)=1107568
所以共有1107568個不同數字的組合。
我在計算時,把每個組合的6個不相同的數字,各用一個空格符分隔,存放在一個單元格中。
實際運算時間僅10秒鐘即可完成,主要時間將花費在填充單元格上,全部填滿約半小時。
因為1107568=65536*16+58992
所以全部填滿後a-p會全部填滿,q列填到第58992行。
[a1:q65536]
=arr語句用來填充單元格,因執行時費時較多,我暫時把它註釋掉了。代之以如下語句用來顯示前10行資料,作示範。
forl=1
to10
form=1
to17
cells(l,m)=
arr(l,
m)next
mnextl
10樓:香睿力亦玉
這個是從全部隨機選5個數字的公式:
=index($a$1:$e$7,choose(rand()*7+1,1,2,3,4,5,6,7),choose(int(rand()*10/2)+1,1,2,3,4,5))
希望對你有幫助~~
11樓:法哲瀚麻娥
=offset($a$2,int((row()-2)/3),0,,)&"-"
註明:-2是因為我公式從第二行開始,你根據自己的更改。兩處。
$a$2、$b$2是1所在的位置,列向的。如果橫向,offset裡的逗號位置更改。
&"-"
連結符號,你可以刪去。
怎麼用excel計算排列組合的個數?
12樓:匿名使用者
permut 函式返回從給定數目的物件集合中選取的若干物件的排列數。
combin 函式返回從給定數目的物件集合中提取若干物件的組合數。
語法:=permut(number,number_chosen)=permut(物件個數,每個排列中物件個數)=combin(number,number_chosen)=combin(物件的總數量,每一組合中物件的數量)舉例:=permut(6,3) 返回120 (6選3的排列數)
=combin(6,3) 返回20 (6選3的組合數)
13樓:匿名使用者
將公式寫入單元格。
如果使用變數,可以把變數所在的單元格替換公式中的常量
修改變數的值,相應的公式結果隨之變動
14樓:山桑弓
用專門的計算組合數的函式,任意單元格中輸入
=combin(10,6)
就可以了。不過這個函式如果在03版中使用,需要安裝載入項,07以上版本中可以直接使用。
15樓:末字羯聶
公式=combin(10,6)
10表示資料庫數量,6表示任選n。
excel如何做排列組合?
16樓:匿名使用者
用vba:
sub zuhe()
r = 1
for a = 0 to 7
for b = a + 1 to 8
for c = b + 1 to 9
cells(r, 1) = "'" & a & b & cr = r + 1
next
next
next
end sub
sub pailie()
r = 1
for a = 0 to 9
for b = 0 to 9
for c = 0 to 9
if a <> b and a <> c and b <> c then
cells(r, 2) = "'" & a & b & cr = r + 1
end if
next
next
next
end sub
17樓:匿名使用者
要用vba才行,公式做不到
新建模組
sub arrange()
dim a, b, c, d, e as integerd = 1
for a = 0 to 9
for b = 0 to 9
for c = 0 to 9
if a <> b and b <> c and a <> c then
cells(d, 1) = a & b & cd = d + 1
end if
next c
next b
next a
end sub
sub assemble()
dim a, b, c, d, e as integerd = 1
for a = 0 to 9
for b = 0 to 9
if b > a then
for c = 0 to 9
if c > b then
cells(d, 2) = a & b & cd = d + 1
end if
next c
end if
next b
next a
end sub
18樓:哀微浮柔婉
何必用巨集呢?用隨機函式,你按一下f9就會自動生成新一列數d,e,f中分別輸入
=offset(a1,int(rand()*6)-1,0)=offset(b1,int(rand()*8)-1,0)=offset(c1,int(rand()*6)-1,0)剛測試了下,不知道怎麼用rand的時候總是偶爾會出點問題,修改了下=offset(a1,int(randbetween(1,5))-1,0)
=offset(b1,int(randbetween(1,7))-1,0)
=offset(c1,int(randbetween(1,5))-1,0)
excel怎麼列出所有的排列組合?
19樓:明佳妙明
excel怎樣從資料集選r個資料排列組合列表(一)
20樓:羊舌芙同巳
這個排列組合經常要用到,託您的問題,我學習了一下,做了一個排列組合的**。只當拋磚引玉,希望有高手批評指正。(這個程式是將10個數字,按每條4個數字進行組合)
sub組合()
dimarr_s(1
to10)
dimarr_o
dimi,
j,k1,
k2,k3,
k4as
integeri=
sheet1.range("a65536").end(xlup).row
'arr_s
這個執行時出錯
forj=1
toi-1
'給原始序列陣列賦值
arr_s(j)
=cells(j+1,
1)nextji
=i-1
'原始資料的個數j=
i*(i-
1)*(i-
2)*(i-
3)/(1*
2*3*
4)'按4列組合,計算目標陣列的個數
redim
arr_o(1
toj,1to
4)j=1
fork1=1
toi-3
fork2=k1
+1toi
-2fork3=k2
+1toi
-1fork4=k3
+1toi
arr_o(j,1)=
arr_s(k1)
arr_o(j,2)=
arr_s(k2)
arr_o(j,3)=
arr_s(k3)
arr_o(j,4)=
arr_s(k4)j=
j+1next
k4next
k3next
k2next
k1fori=
1toj-
1cells(i+1,
3)=arr_o(i,
1)cells(i+1,
4)=arr_o(i,
2)cells(i+1,
5)=arr_o(i,
3)cells(i+1,
6)=arr_o(i,
4)next
iend
sub執行結果如圖所示:
21樓:匿名使用者
結合你之後的追問,其實你要問的不是排列,而是「不重複的組合」。所以只需要在b1單元格輸入=replace($a$1&$a$2&$a$3&$a$4,row(a1),1,"")下拉就可以了。不過這個得到的是文字型的,如果你要得到數字型的,就在「=」後加上「--」就可以。
"4個取3個" 對應的就是 「4個扣掉1個」
22樓:慈梓維建癸
'你這個用excel函式比較麻煩,但用vba**就比較簡單。'如果你的四個環節名分別放在a1:d1,第一環節的四種情況分別在a2:a4,……,則在excel
vba裡執行下面的**就可以在a6:p21區域中得出你要的256中組合sub
四環節組合()dim
i%,j%,
k%,l%,
m%,n%fori=
2to5step
1forj=
2to5step1m
=m+1
n=0fork=
2to5step
1forl=
2to5step1n
=n+1
cells(m+5,
n)=cells(i,1)&
cells(j,2)&
cells(k,3)&
cells(l,
4)next
next
nextnextendsub
excel排列組合函式,excel 排列組合函式
給你vba 吧 因為一共有54740個結果 可能等一下才看到結果 的電腦用了1分半時間 dim r as long function pmtsb byval s as string,byval t as string,byval n as integer as string const k 2 if...
如何用EXCEL進行數字排列組合
用專門的計算組合數的函式,任意單元格中輸入 combin 10,6 就可以了。不過這個函式如果在03版中使用,需要安裝載入項,07以上版本中可以直接使用 怎麼用excel計算排列組合的個數?permut 函式返回從給定數目的物件集合中選取的若干物件的排列數。combin 函式返回從給定數目的物件集合...
如何使用Excel來對字串進行排列組合
只有用vba迴圈來實現,函式是沒法實現的 sub plzh dim a b c d e n 1 to 5 arr i brr redim arr 1 to 120,1 to 1 range a1 currentregion.clearcontents brr array abc bcd efg ab...