如何用excel列出如下所有排列組合的情形?

2022-09-29 09:54

2個回答
Sub?musub()
????Dim?caseArray(3)?As?String
????caseArray(0)?=?"A"
????caseArray(1)?=?"B"
????caseArray(2)?=?"C"
????caseArray(3)?=?"D"
????Dim?rowNum?As?Integer
????For?i?=?1?To?4
????????For?j?=?1?To?4
????????????For?k?=?1?To?4
????????????????For?l?=?1?To?4
????????????????????rowNum?=?rowNum?+?1
????????????????????Cells(rowNum,?1)?=?"情形"?&?CStr(rowNum)
????????????????????Cells(rowNum,?2)?=?caseArray(i?-?1)
????????????????????Cells(rowNum,?3)?=?caseArray(j?-?1)
????????????????????Cells(rowNum,?4)?=?caseArray(k?-?1)
????????????????????Cells(rowNum,?5)?=?caseArray(l?-?1)
????????????????Next?l
????????????Next?k
????????Next?j
????Next?i
End?Sub

這個排列組合經(jīng)常要用到,托您的問題,我學習了一下,做了一個排列組合的代碼。只當拋磚引玉,希望有高手批評指正。(這個程序是將10個數(shù)字,按每條4個數(shù)字進行組合)

Sub 組合()

Dim arr_S(1 To 10)

Dim arr_O

Dim I, J, K1, K2, K3, K4 As Integer

I = Sheet1.Range("A65536").End(xlUp).Row

'arr_S = Sheets("sheet1").Range("a2:a" & I) 這個運行時出錯

For J = 1 To I - 1 ?'給原始序列數(shù)組賦值

? arr_S(J) = Cells(J + 1, 1)

Next J


I = I - 1 '原始數(shù)據(jù)的個數(shù)

J = I * (I - 1) * (I - 2) * (I - 3) / (1 * 2 * 3 * 4) '按4列組合,計算目標數(shù)組的個數(shù)

ReDim arr_O(1 To J, 1 To 4)

J = 1

For K1 = 1 To I - 3

? ? For K2 = K1 + 1 To I - 2

? ? ? ? For K3 = K2 + 1 To I - 1

? ? ? ? ? ? For K4 = K3 + 1 To I

? ? ? ? ? ? ? ? ?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 + 1

? ? ? ? ? ? Next K4

? ? ? ? Next K3

? ? Next K2

Next K1

For I = 1 To J - 1

Cells(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 I

End Sub

執(zhí)行結(jié)果如圖所示:

相關(guān)問答
excel 排列組合公式?
3個回答2022-08-26 03:01
Excel有排列組合公式,PERMUT為排列函數(shù),COMBIN為組合函數(shù)。 1、電腦打開Excel表格,輸入組合函數(shù)=COMBIN(50,3)。 2、回車就會得到19600。 ...
全文
excel如何做排列組合?
2個回答2022-09-06 23:11
何必用宏呢?用隨機函數(shù),你按一下F9就會自動生成新一列數(shù) D,E ,F中分別輸入 =OFFSET(A1,INT(RAND()*6)-1,0) =OFFSET(B1,INT(RAND()*8)-1,0)...
全文
excel中,實現(xiàn)排列組合,這個怎么弄?
1個回答2022-11-26 22:48
1。在C列輸入=, 然后選中A列你要組合的數(shù)據(jù),接著在C列輸入 =A &"-"&B 就可以了 2.同上。在B列選中你要的數(shù)據(jù)就可以了
Excel 一列中有多組數(shù)據(jù)怎么分別排序
1個回答2023-02-14 11:25
將組這列設為主要關(guān)鍵字,值這列設為次要關(guān)鍵字進行排序。
怎么用excel計算排列組合的個數(shù)?
4個回答2022-08-29 05:16
1、電腦打開excel,然后點擊函數(shù)圖標。 2、進入函數(shù)表格后,找到COMBIN公式,然后點擊確定。 3、進入COMBIN后,對象總數(shù)中輸入10,每個排列中的對象數(shù)輸入6,然后單擊確定。...
全文
EXCEL怎么把一列數(shù)據(jù)從小到大排列?
4個回答2022-12-05 12:22
一、首先,打開Excel表格程序,打開要進行排序的Excel表格文件。 二、然后,在Excel程序主界面上方選擇“數(shù)據(jù)”,點擊打開。 三、然后,在下拉菜案中選擇“排序”,點擊打開。 ...
全文
數(shù)列,組合,排列方式
1個回答2024-05-29 01:59
編個小程序就搞定了,如果你要程序我可以給你 結(jié)果是:3482種(組合,與順序無關(guān)) 如果把5個數(shù)字按從小到大的順序排列,前10組和后10組為: NO a b c d e 1 1 10 33 3...
全文
在EXCEL中,如何把一列數(shù)據(jù)分成5個一組按列排
3個回答2022-12-12 22:07
在B1單元格輸入以下公式,然后向右向下填充公式 =OFFSET($A$1,(ROW(A1)-1)*5+COLUMN(A1)-1,0) 詳見附圖示例
小學數(shù)學排列組合問題!!!
1個回答2024-02-26 21:40
3分的可以取0,1,2,3,4張共5種取法,5分的有4種取法總埋敏共辯液坦有5*4=20種取法就有20種不同的郵資,但3分的與5分的不能同時不?。ú缓项}意)所攜桐以要20-1=19 這才是正...
全文
熱門問答