У мене є такий лист, як цей;
Я хотів би b
перетворити стовпець у 3 нові стовпці, тому є два рядки, як URL1, Name, address, email
і URL3, Name, address, email
.
У мене є такий лист, як цей;
Я хотів би b
перетворити стовпець у 3 нові стовпці, тому є два рядки, як URL1, Name, address, email
і URL3, Name, address, email
.
Відповіді:
З даними в стовпці А і В , в C1 введіть:
=OFFSET($A$1,3*(ROWS($1:1)-1),0)
і скопіюйте вниз і в D1 введіть:
=OFFSET($B$1,COLUMNS($A:A)-1+(ROW()-1)*3,0)
і скопіюйте BOTH поперек і вниз:
Відкрити Visual Basic (Натисніть Alt + F11 )
Вставте модуль і вставте наступний код у цей модуль
Sub Macro()
Dim i As Integer, j As Integer, k As Integer, LastRow As Integer
LastRow = Sheets(1).Range("A1").End(xlDown).Row
Sheets(2).Cells(1, 1).Value = Sheets(1).Cells(1, 1).Value
Sheets(2).Cells(1, 2).Value = Sheets(1).Cells(1, 2).Value
k = 1
j = 2
For i = 1 To LastRow
If Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & (i + 1)).Value Then
j = j + 1
Sheets(2).Cells(k, j).Value = Sheets(1).Cells(i + 1, 2).Value
Else
k = k + 1
Sheets(2).Cells(k, 1).Value = Sheets(1).Cells(i + 1, 1).Value
Sheets(2).Cells(k, 2).Value = Sheets(1).Cells(i + 1, 2).Value
j = 2
End If
Next i
End Sub
Цей код перевіряє схожість клітинок у першому стовпчику, якщо вміст комірки збігається із значенням у комірці поруч із нею буде скопійовано на інший аркуш. Якщо вміст комірок у першому стовпці не збігається, він вважатиметься наступною точкою даних.