Как да транспонирам всеки 5 или n реда от една колона в множество колони?
Да предположим, че имате дълги данни в колона A и сега искате да транспонирате всеки 5 реда от колона A в множество колони, като например транспониране на A1:A5 в C6:G6, A6:A10 в C7:G7 и т.н. показана е следната екранна снимка. Как бихте могли да се справите с тази задача, без да копирате и поставяте многократно в Excel?
Транспонирайте всеки 5 или n реда от една колона в няколко колони с формула
Транспонирайте всеки 5 или n реда от една колона в множество колони с VBA код
Транспонирайте всеки 5 или n реда от една колона в множество колони с Kutools за Excel
Транспонирайте всеки 5 или n реда от една колона в няколко колони с формула
В Excel можете да приложите следната формула, за да транспонирате всеки n реда от една колона в множество колони, моля, направете следното:
1. Въведете следната формула в празна клетка, където искате да поставите резултата, C1, например, =ИНДЕКС($A:$A,РЕД(A1)*5-5+КОЛОНА(A1)), вижте екранна снимка:
Забележка: В горната формула, A:A е препратката към колоната, която искате да транспонирате, и A1 е първата клетка от използваната колона, числото 5 показва броя на колоните, които вашите данни ще намерят, можете да ги промените според вашите нужди. И първата клетка от списъка трябва да се намира на първия ред в работния лист.
2. След това плъзнете манипулатора за запълване надясно до пет клетки и продължете да плъзгате манипулатора за запълване надолу до диапазона от клетки, докато се покаже 0, вижте екранната снимка:
Трансформирайте всеки 5 или n реда от една колона в няколко колони:
За да трансформирате всеки 5 или n реда от една колона в множество колони, Kutools за Excel's Обхват на трансформация помощната програма може да ви помогне да решите тази задача възможно най-бързо. Също така може да ви помогне да транспонирате диапазон от данни в един ред или колона. Щракнете, за да изтеглите Kutools за Excel! Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега! |
Транспонирайте всеки 5 или n реда от една колона в множество колони с VBA код
Ако не можете да приложите формулата правилно, следният VBA код също може да ви помогне.
1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния код в Модули Window.
VBA код: Транспонирайте всеки 5 или n реда от една колона в няколко колони:
Public Sub TransposeData()
'updateby Extendoffice
Dim xLRow As Long
Dim xNRow As Long
Dim i As Long
Dim xUpdate As Boolean
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count > 1) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range only contain one column", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
xLRow = xRg.Rows.Count
For i = 1 To xLRow Step 5
xRg.Cells(i).Resize(5).Copy
xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
xNRow = xNRow + 1
Next
Application.ScreenUpdating = xUpdate
End Sub
3. След като поставите кода, моля, натиснете F5 за да го стартирате и ще изскочи поле за подкана, за да ви напомни да изберете колоната, която искате да транспонирате, вижте екранната снимка:
4, След това кликнете OKи изберете една клетка, където искате да поставите резултата в друго изскачащо поле, вижте екранната снимка:
5, И натиснете OK, данните в колоната са преобразувани в пет колони, от които се нуждаете, вижте екранна снимка:
Забележка: В горния код можете да промените номера 5 на друг номер, от който се нуждаете.
Транспонирайте всеки 5 или n реда от една колона в множество колони с Kutools за Excel
Ако имате Kutools за Excel, Със своята Обхват на трансформация помощна програма, можете бързо да транспонирате една колона или ред в множество колони и редове.
Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. |
След инсталиране Kutools за Excel, моля, направете следното:
1. Изберете данните в колоната и след това щракнете Kutools > Обхват > Обхват на трансформация, вижте екранна снимка:
2. В Обхват на трансформация изберете диалоговия прозорец Единична колона към диапазон вариант по Тип трансформацияи след това проверете Фиксирана стойност под Редове на запис, след което задайте броя на колоните, към които искате да транспонирате в Фиксирана стойност кутия, вижте екранната снимка:
3, И после щракнете върху Ok бутон, в изскачащото поле, моля, изберете клетка, за да изведете резултата, вижте екранната снимка:
4, След това кликнете OK бутон и данните от вашата колона са транспонирани на всеки 5 реда, както е показано на следната екранна снимка:
Изтеглете и изпробвайте безплатно Kutools за Excel сега!
Демонстрация: Транспонирайте всеки 5 или n реда от една колона в множество колони с Kutools за Excel
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!