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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование строки в столбец - Мир MS Excel

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

Excel 2010
Здравствуйте. Подскажите, как преобразовать строку в столбец, чтобы заголовок строки отображался в соседней ячейке от получившегося столбца? Чтобы было более понятно прикрепил файл.
---
В реальности таких строк 2000+, поэтому вариант вручную всё это делать кажется ужасным %) :)
К сообщению приложен файл: qwerty.xlsx (9.5 Kb)
 
Ответить
СообщениеЗдравствуйте. Подскажите, как преобразовать строку в столбец, чтобы заголовок строки отображался в соседней ячейке от получившегося столбца? Чтобы было более понятно прикрепил файл.
---
В реальности таких строк 2000+, поэтому вариант вручную всё это делать кажется ужасным %) :)

Автор - xcripz
Дата добавления - 11.12.2014 в 15:22
Samaretz Дата: Четверг, 11.12.2014, 15:55 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация: 63 ±
Замечаний: 0% ±

Excel 2010; 2013; 2016
xcripz,
Выделяете свой массив, копируете его в буфер обмена, встаете на ячейку, которая будет левой верхней ячейкой нового массива, щелкаете правой кнопкой мыши, щелкаете по пункту "Специальная вставка". В открывшемся окне ставите галку "Транспонировать" и нажимаете ОК.


Сообщение отредактировал Samaretz - Четверг, 11.12.2014, 15:55
 
Ответить
Сообщениеxcripz,
Выделяете свой массив, копируете его в буфер обмена, встаете на ячейку, которая будет левой верхней ячейкой нового массива, щелкаете правой кнопкой мыши, щелкаете по пункту "Специальная вставка". В открывшемся окне ставите галку "Транспонировать" и нажимаете ОК.

Автор - Samaretz
Дата добавления - 11.12.2014 в 15:55
xcripz Дата: Четверг, 11.12.2014, 16:01 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, но обычное транспонирование - не совсем то, что нужно.
Результат:
1 2 3 4 5
xx1 yy1 zz1 cc1 bb1
xx2 yy2 zz2 cc2 bb2
xx3 yy3 zz3 cc3 bb3

Нужно:
1 xx1
1 xx2
1 xx3
2 yy1
2 yy2
2 yy3
3 zz1
3 zz2
3 zz3
4 cc1
4 cc2
4 cc3
5 bb1
5 bb2
5 bb3


Сообщение отредактировал xcripz - Четверг, 11.12.2014, 16:03
 
Ответить
СообщениеСпасибо, но обычное транспонирование - не совсем то, что нужно.
Результат:
1 2 3 4 5
xx1 yy1 zz1 cc1 bb1
xx2 yy2 zz2 cc2 bb2
xx3 yy3 zz3 cc3 bb3

Нужно:
1 xx1
1 xx2
1 xx3
2 yy1
2 yy2
2 yy3
3 zz1
3 zz2
3 zz3
4 cc1
4 cc2
4 cc3
5 bb1
5 bb2
5 bb3

Автор - xcripz
Дата добавления - 11.12.2014 в 16:01
Nic70y Дата: Четверг, 11.12.2014, 16:03 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8791
Репутация: 2288 ±
Замечаний: 0% ±

Excel 2010
вариант с доп.столбцом:
К сообщению приложен файл: 18-42.xlsx (12.6 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевариант с доп.столбцом:

Автор - Nic70y
Дата добавления - 11.12.2014 в 16:03
Rioran Дата: Четверг, 11.12.2014, 16:27 | Сообщение № 5
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
xcripz, здравствуйте.

У меня решение простеньким макросом. Никакого прописывания формул - один тык на кнопку и готово. Пример во вложении.

Перед вставкой результата очищает лист от значений.

[vba]
Код
Sub Rio_Rotation()

Dim A&, B&, X&, ArrX(), ArrY()

For A = 1 To Cells(Rows.Count, 1).End(xlUp).Row
      B = 2
      Do While Cells(A, B).Value <> ""
          ReDim Preserve ArrY(X), ArrX(X)
          ArrY(X) = Cells(A, 1).Value: ArrX(X) = Cells(A, B).Value
          X = X + 1: B = B + 1
      Loop
Next A

ActiveSheet.UsedRange.Value = ""

With Application.WorksheetFunction
      Cells(1, 1).Resize(X, 1).Value = .Transpose(ArrY)
      Cells(1, 2).Resize(X, 1).Value = .Transpose(ArrX)
End With

End Sub
[/vba]
К сообщению приложен файл: Rio_Rotation.xlsb (17.3 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Четверг, 11.12.2014, 16:28
 
Ответить
Сообщениеxcripz, здравствуйте.

У меня решение простеньким макросом. Никакого прописывания формул - один тык на кнопку и готово. Пример во вложении.

Перед вставкой результата очищает лист от значений.

[vba]
Код
Sub Rio_Rotation()

Dim A&, B&, X&, ArrX(), ArrY()

For A = 1 To Cells(Rows.Count, 1).End(xlUp).Row
      B = 2
      Do While Cells(A, B).Value <> ""
          ReDim Preserve ArrY(X), ArrX(X)
          ArrY(X) = Cells(A, 1).Value: ArrX(X) = Cells(A, B).Value
          X = X + 1: B = B + 1
      Loop
Next A

ActiveSheet.UsedRange.Value = ""

With Application.WorksheetFunction
      Cells(1, 1).Resize(X, 1).Value = .Transpose(ArrY)
      Cells(1, 2).Resize(X, 1).Value = .Transpose(ArrX)
End With

End Sub
[/vba]

Автор - Rioran
Дата добавления - 11.12.2014 в 16:27
Nic70y Дата: Четверг, 11.12.2014, 16:41 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8791
Репутация: 2288 ±
Замечаний: 0% ±

Excel 2010
без доп. столбца:
К сообщению приложен файл: 18-57.xlsx (12.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениебез доп. столбца:

Автор - Nic70y
Дата добавления - 11.12.2014 в 16:41
xcripz Дата: Понедельник, 26.01.2015, 18:52 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Большое спасибо за помощь, макрос помог.
---
Пардон, что ответил спустя полтора месяца yes


Сообщение отредактировал xcripz - Понедельник, 26.01.2015, 18:53
 
Ответить
СообщениеБольшое спасибо за помощь, макрос помог.
---
Пардон, что ответил спустя полтора месяца yes

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

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