Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Как преобразовать таблицу / массив в 2 столбца?

Автор oleg xovok, 04.02.2011, 12:35

« назад - далее »

oleg xovok

Нужно преобразовать таблицу. Пример в файле. На первом листе - исходник, на втором - желаемый результат. Excel 2007. Оригинальная таблица - порядка 33000 строк. Столбцов по некоторым строкам может быть больше сотни
NULL

IKor

Сделано на скорую руку.
Кроме того, для наглядности формулы разобраны по дополнительным столбцам.

boa

#2
а если макросом, то так

Sub Spisok()
Dim i As Integer, j As Integer, KolStrok As Integer, KolStolb As Integer, iRow As Integer
Dim Ishod As Object, Rezult As Object

   Set Ishod = ThisWorkbook.Sheets("Исходник")
   Set Rezult = ThisWorkbook.Sheets("Результат")
   KolStrok = Ishod.Cells(Rows.Count, 1).End(xlUp).Row 'находим последнюю строку в  таблице
   KolStolb = Ishod.Cells(1, 1).End(xlToRight).Column  'находим последний столбец в таблице
   iRow = 2
   Rezult.Cells(1, 1) = "Артикул"
   Rezult.Cells(1, 2) = "Кросс"
   
   For i = 2 To KolStrok
       For j = 2 To KolStolb
           If Not IsEmpty(Ishod.Cells(i, j)) Then 'если ячейка не пустая, то
               Rezult.Cells(iRow, 1) = Ishod.Cells(i, 1)
               Rezult.Cells(iRow, 2) = Ishod.Cells(i, j)
               iRow = iRow + 1
           End If
       Next j
   Next i

End Sub


"Вклейте" его в свою книгу и выполните. Надо будет, потом, сохранить файл как "книга с поддержкой макросов"
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

oleg xovok

Спасибо, попробую и так, и так. Если возникнут вопросы - в понедельник продолжим
NULL

ZORRO2005

1. Используем сводную таблицу в нескольких диапазонах консолидации.
2. Даблклик по правому нижнему уголку сводной
3. Сортировка с 2-мя уровнями (по Строке, по значениям) и в фильтре убрать пустые ячейки

Итого 2 мин.
Яндекс-деньги: 410011658492153