Транспортировка данных из списка из одного столбца в несколько столбцов

460
davidcondrey

У меня есть таблица Excel, которая содержит десятки тысяч записей, но она не организована. Все данные находятся в одном столбце, каждая запись занимает 3 строки, за которыми следует пробел.

Например:

Entry 1 Name Entry 1 Address Entry 1 Phone  Entry 2 Name Entry 2 Address Entry 2 Phone 

Это продолжается около полумиллиона записей. Мне нужно организовать это лучше и я бы хотел, чтобы это выглядело так

Entry 1 Name Entry 1 Address Entry 1 Phone Entry 2 Name Entry 2 Address Entry 2 Phone 

Я пытался выяснить, как написать формулу, которую я могу автоматически заполнить в Excel, но я не могу понять это. Я использую MS Office на OSX. Но любое решение, будь то Excel или не Excel, было бы замечательно. Спасибо!

1

1 ответ на вопрос

0
Brian Folan

Sounds like a job for VBA - I believe that this code should work in OSX version of excel but i have only tested it in windows.

Can you run this?

Manually Create a worksheet called Sheet2 and have your data sheet called Sheet1 (or rename in code below). And it starts on Column B on the new Sheet, delete it manually if you don't want it there.

Let me know if it works.

Sub Macro1() Application.ScreenUpdating = False ' Turn off Screen updating Dim LastRow As Long ' Find the last row of input sheet LastRow = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Row Dim row_working_on As Integer For row_working_on = 1 To LastRow Worksheets("Sheet2").Cells(Int(row_working_on / 4) + 1, row_working_on Mod 4 + 1) = Sheets("Sheet1").Cells(row_working_on, 1).Value Next row_working_on Application.ScreenUpdating = True ' turn on Screen updating End Sub 

Похожие вопросы