Транспонирование данных из одного списка столбцов в несколько столбцов
У меня есть электронная таблица Excel, длина которой составляет десятки тысяч, но она не организована. Все данные находятся в одном столбце, причем каждая запись занимает 3 строки, а затем пробел.
Например:
Entry 1 Name Entry 1 Address Entry 1 Phone Entry 2 Name Entry 2 Address Entry 2 Phone
Это продолжается примерно полмиллиона записей. Мне нужно организовать его лучше и хотелось бы переставить его так, чтобы он выглядел так
- Как получить Excel AutoFill «расширенный» шаблон?
- Excel подсчитывает все строки, которые содержат определенные значения для определенных полей
- Как выделить точки данных в диаграмме рассеяния в excel?
- MS Excel: как подсчитывать вхождения элементов в списке?
- Несколько меток Y-оси в линейке строк Excel 2010
Entry 1 Name Entry 1 Address Entry 1 Phone Entry 2 Name Entry 2 Address Entry 2 Phone
Я пытался выяснить, как написать формулу, которую я могу автоматически заполнить в Excel, но я не могу понять это. Я использую MS Office на OSX. Но любое решение – это Excel или не Excel. Благодаря!
- Запретить пользователю Excel 2010 вставлять форматирование в ячейку
- Как получить данные из отдельных листов, отображаемых в отдельной отдельной рабочей таблице
- Вычисление разницы во времени hh: mm: ss format
- Доступен ли Workbook.FileFormat для пользовательского интерфейса Excel (в частности, когда тип файла не может быть сохранен)
- Как сделать две формулы ссылками на те же ячейки в Excel?
- Показать вкладку листа Excel в> = 2 строки
- SUMIF с несколькими критериями соответствия в Excel
- Справка Excel. Возможно ли вернуть номер столбца второго совпадения в горизонтальном массиве?
Звучит как работа для VBA – я считаю, что этот код должен работать в версии OSX версии excel, но я тестировал его только в окнах.
Можете ли вы запустить это?
Вручную создайте лист Sheet2 и получите листок данных Sheet1 (или переименуйте код ниже). И он начинается с столбца B на новом листе, удаляет его вручную, если вы этого не хотите.
Дайте мне знать, если это сработает.
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