怎麼用excel顯示排列組合所有結果的問題

2021-04-30 14:16:16 字數 3942 閱讀 8258

1樓:一點設計演示

1.首先,看一下原始資料。a1和a2是兩個主等級,b1:b4是四個附屬等級,每個主等級都有四個附屬等級。需要在c列顯示出所有的組合情況。

2.考慮用index函式來實現這個功能。首先來看一下index第二引數如何做。

雙擊c1,輸入公式=int((row(a1)-1)/4)+1,下拉可以看到1出現了4次,2也出現了4次,這是因為b列資料4次以後就需要在a列偏移乙個單元格。

3.外面巢狀index函式,輸入:

=index($a$1:$a$2,int((row(a1)-1)/4)+1)

下拉後就可以看到「一等」和「二等」各出現了4次。

4.第二列資料和第一列資料不一樣,我們需要迴圈引用b列的資料。也就是讓1,2,3,4迴圈出現。所以考慮用mod函式。雙擊d1,輸入公式:

=mod(row(a1)-1,4)+1

下拉後可以看到如下圖的效果:

5.同樣,外層巢狀index函式,可以迴圈獲得b列的資料,4行一遍:

=index($b$1:$b$4,mod(row(a1)-1,4)+1)

6.最後,把公式合併在乙個單元格中,就生成了最終結果組合。

2樓:匿名使用者

在e1輸入以下公式,然後向下填充到e64單元格

怎樣用excel排列組合解決該問題

excel怎麼列出所有的排列組合?

3樓:明佳妙明

excel怎樣從資料集選r個資料排列組合列表(一)

4樓:羊舌芙同巳

這個排列組合經常要用到,託您的問題,我學習了一下,做了乙個排列組合的**。只當拋磚引玉,希望有高手批評指正。(這個程式是將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執行結果如圖所示:

5樓:匿名使用者

結合你之後的追問,其實你要問的不是排列,而是「不重複的組合」。所以只需要在b1單元格輸入=replace($a$1&$a$2&$a$3&$a$4,row(a1),1,"")下拉就可以了。不過這個得到的是文字型的,如果你要得到數字型的,就在「=」後加上「--」就可以。

"4個取3個" 對應的就是 「4個扣掉1個」

6樓:慈梓維建癸

'你這個用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

7樓:匿名使用者

要用excel的**。

8樓:匿名使用者

可以用下面的**:

sub test()

for i =1 to 4

s=「」

for j=0 to 2

s=s & cells(i +j,1)

next

celks(i,2)=s

next

end sub

9樓:假笑秋田

sub abc

range(」

b1」)=range(」a1」) & range(」a2」) & range(」a3」)

range(」b2」)=range(」a1」) & range(」a2」) & range(」a4」)

range(」b3」)=range(」a1」) & range(」a3」) & range(」d4」)

range(」b4」)=range(」a2」) & range(」a3」) & range(」a4」)

10樓:擲骰的無色瞳

不用巨集的方法:規則一樣的話(4取3),可以先窮舉一列,然後用公式替換a列寫:12

34b列貼上:

123124

132134

142143

234231

243241

213214

341342

314312

324321

412413

421423

431432

c列:abc

dd1寫入公式:=substitute(substitute(substitute(substitute(b1,a$1,c$1),a$2,c$2),a$3,c$3),a$4,c$4)

下拉後面可以迴圈使用

11樓:微訊

可以實現,需要程式設計來解決,

不知道你的資料有什麼要求?

excel如何列出所有排列組合,excel怎麼列出所有的排列組合?

這個排列組合經常要用到,託您的問題,我學習了一下,做了乙個排列組合的 只當拋磚引玉,希望有高手批評指正。這個程式是將10個數字,按每條4個數字進行組合 sub 組合 dim arr s 1 to 10 dim arr o dim i,j,k1,k2,k3,k4 as integer i sheet1...

excel數以位一組,排列組合,如何顯示其中全部組合數,急用

3的17次方 129140163組excel公式為 3 17 excel 8個數以3個為一組,排列組合,如何顯示其中全部 5 前八行是參加組合的8個資料 數字或字元 在表名上右擊,檢視 將 貼入,執行。執行後,從第20行顯示結果。sub kk dim a 8 for i 1 to 8 a i cel...

數學的排列組合怎麼做,關於數學排列組合,A什麼的C什麼的到底怎麼算舉個例子。。

暈 這個幾句話說不清楚的 你先找道題我給你說雜做 關於數學排列組合,a什麼的c什麼的到底怎麼算舉個例子。a開頭的叫排列,c開頭的叫組合 排列a n,m n n 1 n m 1 n n m n為下標,m為上標,以下同 組合c n,m p n,m p m,m n m n m 擴充套件資料 注 當且僅當兩...