2017-08-03 32 views
3

我在這裏相當新,所以如果違反規則請告訴我。通過組合現有行創建新行excel

我有一個問題,似乎很簡單,但我想檢查以確保。我一直在想,如果我能以每個變量組合從一列創建一個新的行與另一個,就像這樣:

Column 1  Column 2  Combined 
    A    1    A1 
    B    2    A2 
        3    A3 
            B1 
            B2 
            B3 

但是,而不是手動鍵入的組合,我想結合柱使這種組合不用戶輸入並在列1或列2添加或刪除行時自動更新。我一直在試圖弄清楚是否有某種方式可以在excel或&符號中使用連接函數,但這兩種方法似乎都不起作用。我正在考慮嘗試在視覺基礎知識中進行編碼。

主要問題:是否可以在Excel中做到這一點?如果有的話,我可以使用哪些功能?

+0

列被搞砸了。 – Ash

+1

諷刺評論:「是」 –

+0

是第2列總是數字?它有一個標題行嗎? 1,2,3是第2列中的唯一信息(同樣適用於第1列)? –

回答

1

這假定數據具有一個標題行(第1行),柱1列 'A' 和列2列 'B'。將下面的公式放在一個空單元格中,並儘可能複製數據。

=INDEX(A:A,INT((ROW(A2)+1)/(COUNTA(B:B)-1))+1)&INDEX(B:B,MOD(ROW(A2)-2,3)+1+1) 

現在如果你想添加一個小標誌,讓你知道你有更多的行比你需要爲你的數據,你可以添加以下內容:

=IF(ROW(A2)-1>(COUNTA(A:A)-1)*(COUNTA(B:B)-1),"Data Exceeded",INDEX(A:A,INT((ROW(A2)+1)/(COUNTA(B:B)-1))+1)&INDEX(B:B,MOD(ROW(A2)-2,3)+1+1)) 
+0

只是想說,這很好。謝謝! – Ash

0

據:https://www.extendoffice.com/documents/excel/3097-excel-list-all-possible-combinations.html

可以使用以下公式:

=IF(ROW()-ROW(**$D$1**)+1>COUNTA(**$A$1:$A$4**)*COUNTA(**$B$1:$B$3**),"",INDEX(**$A$1:$A$4**,INT((ROW()-ROW(**$D$1**))/COUNTA(**$B$1:$B$3**)+1))&INDEX(**$B$1:$B$3**,MOD(ROW()-ROW($D$1),COUNTA(**$B$1:$B$3**))+1))

在上式中,$ A $ 1:$ A $ 4,是第一列的值,和 $ B $ 1:$ B $ 3是第二個列表值,您要列出所有的 可能的組合,$ D $ 1是您放置公式的單元格, 您可以根據需要更改單元格引用。

在你的情況,應使用:

=IF(ROW()-ROW($C$2)+1>COUNTA($A$2:$A$3)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$3,INT((ROW()-ROW($C$2))/COUNTA($B$2:$B$4)+1))&INDEX($B$2:$B$4,MOD(ROW()-ROW($C$2),COUNTA($B$2:$B$4))+1)) 
+0

太棒了!我會試試看看它是如何工作的。 – Ash