Вы знакомы с VBA? если да, попробуйте это. Просто вставьте его в модуль и запустите его. Я уверен, что это не самый эффективный способ, но он выполнит эту работу.
Я также предполагаю, что у вас есть только 3 столбца программного обеспечения. Если у вас больше, вам нужно изменить часть, которая говорит «для j = от 1 до 3», чтобы сказать «для j = 1 к X», где X - количество столбцов, которые у вас есть.
Sub transfer()
'Please make sure to change the name of the sheets to reflect the _
correct worksheet names.
Dim wkInput As Worksheet: Set wkInput = Worksheets("sheet1")
Dim wkDest As Worksheet: Set wkDest = Worksheets("sheet2")
'Here we find the maximum number of rows that will be transfered.
Dim nl As Integer: nl = wkInput.UsedRange.Rows.Count
'Here we create a few couner variables.
Dim Row As Integer, Col As Integer, i As Integer, j As Integer
'*********Procedure begins here************
Row = 1
Col = 1
For j = 1 To 3
For i = 1 To nl - 1
wkDest.Cells(Row, Col).Value = wkInput.Cells(i + 1, 1).Value
wkDest.Cells(Row, Col + 1).Value = wkInput.Cells(i + 1, j + 1).Value
Row = Row + 1
Next i
Next j
'*******Procedure ends here*************
End Sub
(1) Используйте 'Text-To-column' преобразовать строку в несколько столбцов, (2) выберите результат и скопировать его (3) вставить его с' опцией Transpose' в колонке 'b' и (4) скопировать слово «хозяин» до конца в столбце «A». Готово. – Ralph
Является ли ваш набор данных одной строкой (если нет, что будет представлять собой типичную вторую строку, до и после)? Является ли ваш пример одной ячейкой для начала и три для завершения? – pnuts
http://stackoverflow.com/questions/38910778/excel-transpose-pairs-of-columns/38924815#38924815 – Slai