Excel + 數字排列

2011-05-27 6:36 am
請問如果我有10個數字,想每個數字另外3個數字全部排列出來一組4位數,可以用formula在excel張每組數全部列出來嗎?

比如我有1至5,可以列出1234,1235,1245,1345,2345

計算的formula是 10x9x8x7/24 = 210

回答 (3)

2011-05-29 8:30 am
✔ 最佳答案
Excel並沒有提供任何Formula函數或任何功能去列出所有排列組何, 一般都是自行編寫VBA去解決如要5選4, 10選9, 15選14(差額為1), 用Formula相當簡單:A1輸入 59872 或 1234567890 或 DEFGHIJK 或 甲乙丙丁戊己庚辛B1輸入公式:=IF(ROW(A1)>LEN(A$1),"",REPLACE(A$1,LEN(A$1)-ROW(A1)+1,1,))下拉如是7選3, 8選6, 9選4 則相當複雜, 限制亦多, 甚至要用很多輔助格以下提供一個較為簡單的Formula方法, 但有以下限制:1.) 最多是9碼, 如9選3, 9選5, 9選62.) Excel 2007或以上版本, 如2003或之前版本, 必須安裝分析工具箱3.) 要用陣列公式以下提供9選4的方法:B1輸入陣列公式:=SUBSTITUTE(SUM(MID(TEXT(DEC2BIN(LARGE(IF(SUBSTITUTE(DEC2BIN(ROW($15:$480)),0,)="1111",ROW($15:$480)),ROW(A1))),"000000000"),ROW($1:$9),1)*ROW($1:$9)*10^(9-ROW($1:$9))),0,)陣列公式的輸入方法: 輸入公式後, 不要馬上按Enter,要同時按Ctrl + Shift + Enter 三鍵將B1下拉至B126B欄便是所有9選4的組合(共126個)如9碼數字不是順序, 或是英文/中文在A1輸入 該9碼字如 135792468或 ABCDEFGHI或 甲乙丙丁戊己庚辛壬C1輸入公式:=MID(A$1,MID(B7,1,1),1)&MID(A$1,MID(B7,2,1),1)&MID(A$1,MID(B7,3,1),1)&MID(A$1,MID(B7,4,1),1)將C1下拉至C126
2011-05-27 9:49 pm
可用以下 macro 求得:

Sub comb()r = 0For i1 = 1 To 10
For i2 = 1 To 10
For i3 = 1 To 10
For i4 = 1 To 10If i2 <= i1 Or i3 <= i2 Or i4 <= i3 Then GoTo ii4

r = r + 1
Cells(r, 1) = i1
Cells(r, 2) = i2
Cells(r, 3) = i3
Cells(r, 4) = i4ii4:
Next i4ii3:
Next i3ii2:
Next i2ii1:
Next i1End Sub
2011-05-27 5:23 pm
計算no. of combination 的formula 是:
10×9×8×7×6÷(5!)
其答案為252


收錄日期: 2021-04-27 15:09:41
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20110526000051KK01194

檢視 Wayback Machine 備份