Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Преобразовать таблицу (столбцы в строки) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Преобразовать таблицу (столбцы в строки) (Формулы/Formulas)
Преобразовать таблицу (столбцы в строки)
vanaol Дата: Вторник, 21.04.2015, 11:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Имеется таблица. В ней есть столбец с номенклатурой по месяцам, общем количеством и базовым за ед.
Нужно получить таблицу с несколькими столбцами: номенклатура, месяц и базовая ед.
Как это сделать?
К сообщению приложен файл: 0659874.xlsx (9.4 Kb) · 7813209.xlsx (9.4 Kb)
 
Ответить
СообщениеИмеется таблица. В ней есть столбец с номенклатурой по месяцам, общем количеством и базовым за ед.
Нужно получить таблицу с несколькими столбцами: номенклатура, месяц и базовая ед.
Как это сделать?

Автор - vanaol
Дата добавления - 21.04.2015 в 11:50
МВТ Дата: Вторник, 21.04.2015, 12:09 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
 
Ответить
СообщениеКросс http://www.planetaexcel.ru/forum....olbtsov

Автор - МВТ
Дата добавления - 21.04.2015 в 12:09
_Boroda_ Дата: Вторник, 21.04.2015, 12:32 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не, фильтром не интересно.
Предлагаю формулами. Сделал сразу для нескольких имен.
К сообщению приложен файл: 0659874_1.xlsx (11.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе, фильтром не интересно.
Предлагаю формулами. Сделал сразу для нескольких имен.

Автор - _Boroda_
Дата добавления - 21.04.2015 в 12:32
Hugo Дата: Вторник, 21.04.2015, 15:11 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Ну тогда уж и макросом. Тоже для любого количества имён.
[vba]
Код
Sub tt()
     Dim c As Range, t$, col As New Collection, k, i&
     Const s As String = "|январь|февраль|март|апрель|май|июнь|июль|август|сентябрь|октябрь|ноябрь|декабрь|"

     For Each c In [b5:b11]
         If InStr(s, "|" & c.Value & "|") = 0 Then
             t = c.Value
         Else
             col.Add c.Offset(, -1).Value & "|" & t & "|" & c.Value & "|" & c.Offset(, 1).Value
         End If
     Next

     i = 20
     For Each k In col
         i = i + 1
         Cells(i, 1).Resize(1, 4) = Split(k, "|")
         Cells(i, 1).Offset(, 3) = --Cells(i, 1).Offset(, 3)
     Next
End Sub
[/vba]
Найдите отличие от планеты :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу тогда уж и макросом. Тоже для любого количества имён.
[vba]
Код
Sub tt()
     Dim c As Range, t$, col As New Collection, k, i&
     Const s As String = "|январь|февраль|март|апрель|май|июнь|июль|август|сентябрь|октябрь|ноябрь|декабрь|"

     For Each c In [b5:b11]
         If InStr(s, "|" & c.Value & "|") = 0 Then
             t = c.Value
         Else
             col.Add c.Offset(, -1).Value & "|" & t & "|" & c.Value & "|" & c.Offset(, 1).Value
         End If
     Next

     i = 20
     For Each k In col
         i = i + 1
         Cells(i, 1).Resize(1, 4) = Split(k, "|")
         Cells(i, 1).Offset(, 3) = --Cells(i, 1).Offset(, 3)
     Next
End Sub
[/vba]
Найдите отличие от планеты :)

Автор - Hugo
Дата добавления - 21.04.2015 в 15:11
vanaol Дата: Вторник, 21.04.2015, 16:35 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
i = 20
[vba]
Код
For Each k In col
i = i + 1
Cells(i, 1).Resize(1, 4) = Split(k, "|")
Cells(i, 1).Offset(, 3) = --Cells(i, 1).Offset(, 3)
Next
[/vba]


Что этот код делает?


Сообщение отредактировал Serge_007 - Вторник, 21.04.2015, 20:23
 
Ответить
Сообщение
i = 20
[vba]
Код
For Each k In col
i = i + 1
Cells(i, 1).Resize(1, 4) = Split(k, "|")
Cells(i, 1).Offset(, 3) = --Cells(i, 1).Offset(, 3)
Next
[/vba]


Что этот код делает?

Автор - vanaol
Дата добавления - 21.04.2015 в 16:35
Hugo Дата: Вторник, 21.04.2015, 17:16 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Выгружает собранную коллекцию строк на лист. Можете выгружать куда угодно - начальная ячейка Cells(i, 1) в данном случае первая двадцатой строки этого же листа.
Шапку можно или нарисовать заранее вручную, или записать это рисование в макрос и добавить в код.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВыгружает собранную коллекцию строк на лист. Можете выгружать куда угодно - начальная ячейка Cells(i, 1) в данном случае первая двадцатой строки этого же листа.
Шапку можно или нарисовать заранее вручную, или записать это рисование в макрос и добавить в код.

Автор - Hugo
Дата добавления - 21.04.2015 в 17:16
vanaol Дата: Вторник, 21.04.2015, 17:29 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
спасибо, буду смотреть
 
Ответить
Сообщениеспасибо, буду смотреть

Автор - vanaol
Дата добавления - 21.04.2015 в 17:29
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Преобразовать таблицу (столбцы в строки) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!