Як перенести повторювані рядки в стовпці в Excel?
Припустимо, у вас є ряд даних в Excel, тепер ви хочете перенести повторювані рядки в кілька стовпців, як показано на наступному скріншоті, чи є у вас якісь ідеї для вирішення цього завдання?
Транспонуйте повторювані рядки у стовпці з кодом VBA
Транспонуйте повторювані рядки у стовпці з кодом VBA
На жаль, у вас немає прямого способу впоратися з цим в Excel, але ви можете створити код VBA для його вирішення, будь ласка, виконайте наступне:
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Вікно Microsoft Visual Basic для програм.
2. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.
Код VBA: транспонування повторюваних рядків у кілька стовпців
Sub ConvertTable()
'Updateby Extendoffice
Dim xArr1 As Variant
Dim xArr2 As Variant
Dim InputRng As Range, OutRng As Range
Dim xRows As Long
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xArr1 = InputRng.Value
t = UBound(xArr1, 2): xRows = 1
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(xArr1, 1)
If Not .exists(xArr1(i, 1)) Then
xRows = xRows + 1: .Item(xArr1(i, 1)) = VBA.Array(xRows, t)
For ii = 1 To t
xArr1(xRows, ii) = xArr1(i, ii)
Next
Else
xArr2 = .Item(xArr1(i, 1))
If UBound(xArr1, 2) < xArr2(1) + t - 1 Then
ReDim Preserve xArr1(1 To UBound(xArr1, 1), 1 To xArr2(1) + t - 1)
For ii = 2 To t
xArr1(1, xArr2(1) + ii - 1) = xArr1(1, ii)
Next
End If
For ii = 2 To t
xArr1(xArr2(0), xArr2(1) + ii - 1) = xArr1(i, ii)
Next
xArr2(1) = xArr2(1) + t - 1: .Item(xArr1(i, 1)) = xArr2
End If
Next
End With
OutRng.Resize(xRows, UBound(xArr1, 2)).Value = xArr1
End Sub
3. Потім натисніть F5 клавішу для запуску цього коду, виберіть діапазон даних, який потрібно перетворити повторювані рядки на кілька стовпців у діалоговому вікні, що з’явиться, див. знімок екрана:
4. Клацання OKі виберіть одну клітинку, куди ви хочете помістити результат, у наступному діалоговому вікні, див.
5. А потім клацніть OK , вибрані вами дані перетворено у такий формат:
Статті по темі:
Як транспонувати / перетворити стовпці та рядки в один рядок?
Як транспонувати / перетворити стовпці та рядки в один стовпець?
Як транспонувати / перетворити один стовпець на кілька стовпців у Excel?
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!