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 擴充套件資料 注 當且僅當兩...