Вот пример того, как выглядят данные, и как я бы хотел, чтобы они выглядели
2 ответа
0
Вы можете сделать это с помощью макроса
Sub Flatten_em()
Dim inRow, outRow, outCol As Integer
Dim CheckVal As String
inRow = 3
outRow = 2
Sheets(1).Select
Rows("1:1").Select
Selection.Copy
Sheets(2).Select
Rows("1:1").Select
ActiveSheet.Paste
Sheets(1).Select
CheckVal = Cells(2, 2)
Range(Cells(2, 1), Cells(2, 7)).Select
Selection Copy
Sheets(2).Select
Cells(outRow, 1).Select
ActiveSheet.Paste
Do Until Cells(inRow, 2) = ""
outCol = 8
Do While Cells(inRow, 2) = CheckVal
Sheets(1).Select
Range(Cells(inRow, 4), Cells(inRow, 7)).Select
Sheets(2).Select
Cells(outRow, outCol).Select
ActiveSheet.Paste
outCol = outCol + 4
inRow = inRow + 1
Loop
CheckVal = Sheets(1).Cells(inRow, 2)
outRow = outRow + 1
Loop
End Sub
-1
Используйте формулу CONCATENATE
Например, чтобы объединить A3, B3, C3, D3, E3, F3, G3 в объединенную ячейку, выполните следующие действия:
Внутри объединенного типа ячеек приведенная ниже формула
=CONCATENATE(A3,B3,c3,D3,E3,F3,G3)