[英]Excel - Combine Multiple Columns into One if Data Exists
我在excel的單獨列中有多個列表,但是某些列不包含數據。 我需要做的是將確實有數據的這些列合並為一個大列。
Row 1 | A B
Row 2 | C D E
Row 3 | F
Row 4 | G H I
應合並為:
A
B
C
D
E
F
G
H
I
中間沒有空白行。 如果可能,寧願不使用宏。
謝謝!
如果您不想使用VBA宏,我認為獲得它的最好方法是復制B列,C列,然后復制D列,...彼此下面,如下所示:
A
C
F
G
B
D
H
E
I
然后使用菜單數據=>刪除重復項刪除多個空格。
如果您改變了使用宏的想法,只需在Google上搜索“ unpivot data Excel”,您就會找到很多解決方案。
我可以想到幾種方法來做到這一點。 使用以下公式。
= INDEX(MyData,1 + INT((ROW(A1)-1)/ COLUMNS(MyData)),MOD(ROW(A1)-1 + COLUMNS(MyData),COLUMNS(MyData))+ 1)
假設“ MyData”是一個命名范圍。
或者,您可以使用簡單的VBA腳本來完成此工作。
Sub ConvertRangeToColumn()
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "Title"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.