|
Преобразование таблицы в столбец |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
|
0 / 0 / 0 Регистрация: 21.03.2016 Сообщений: 3 |
|
|
1 |
|
Как свести таблицу в один столбец «постолбцово»?21.03.2016, 20:37. Показов 12860. Ответов 7
Имеется массив из 8 строк и 104 столбцов. Нужно свести в один столбец все столбцы один за другим. Во вложении пример таблицы на первом листе и требуемый результат на втором. Похожий пример есть на форуме, но он построчный. Помогите пожалуйста разобраться в формуле.
0 |
|
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
|
21.03.2016, 22:27 |
2 |
|
Формула для А1 Код =ИНДЕКС(Лист1!$A$1:$J$8;ОСТАТ(СТРОКА()-1;8)+1;ОТБР((СТРОКА()-1)/8)+1)
1 |
|
0 / 0 / 0 Регистрация: 21.03.2016 Сообщений: 3 |
|
|
22.03.2016, 09:14 [ТС] |
3 |
|
К сожалению, Pelena, Ваша формула не сработала.
0 |
|
5942 / 3154 / 698 Регистрация: 23.11.2010 Сообщений: 10,524 |
|
|
22.03.2016, 09:18 |
4 |
|
Dixcub, покажите файл с ошибкой. у меня формула от Pelena на Вашем файле работает
0 |
|
0 / 0 / 0 Регистрация: 21.03.2016 Сообщений: 3 |
|
|
22.03.2016, 09:31 [ТС] |
5 |
|
Извиняюсь. Сработала при точном расположении в А1.
0 |
|
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
|
22.03.2016, 10:11 |
6 |
|
Можно так Код =ИНДЕКС(Лист1!A$1:J$8;ОСТАТ(СТРОКА(A8);8)+1;СТРОКА(A8)/8) Формулу можно вставить в любую ячейку и тянуть вниз
0 |
|
0 / 0 / 0 Регистрация: 27.12.2015 Сообщений: 5 |
|
|
23.03.2016, 01:14 |
7 |
|
у меня такая же ситуация, только массив несколько побольше, 10000 строк на 100 столбцов, пытаюсь изменить вашу формулу, выводит только 10000 ячеек, а потом говорит, что не правильная ссылка на ячейку. как быть?
0 |
|
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
|
23.03.2016, 08:35 |
8 |
|
так пробовали? Код =ИНДЕКС(Лист1!A$1:CV$10000;ОСТАТ(СТРОКА(A10000);10000)+1;СТРОКА(A10000)/10000)
0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
23.03.2016, 08:35 |
|
Помогаю со студенческими работами здесь
Как написать регулярное выражение для выдергивания английских букв и символов: «+», «,», «:», «-«, » «, «!», «?» и «.» Заменить в строке «.» на «;», «.» на «.», убрать лишние пробелы. Не могу доделать один кусочек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |
Если у вас есть таблица с данными в столбцах, которые необходимо повернуть для переупорядочивать их по строкам, используйте функцию Транспонировать. С его помощью можно быстро переключать данные из столбцов в строки и наоборот.
Например, если данные выглядят так: «Регионы продаж» в заголовках столбцов и «Кварталы» с левой стороны:

Функция Транспонировать переупомешет таблицу, в которой столбцы «Кварталы» отображаются в заголовках столбцов, а слева будут показаны регионы продаж, например:

Примечание: Если данные хранятся в таблице Excel, функция Транспонирование будет недоступна. Можно сначала преобразовать таблицу в диапазон или воспользоваться функцией ТРАНСП, чтобы повернуть строки и столбцы.
Вот как это сделать:
-
Выделите диапазон данных, который требуется переупорядочить, включая заголовки строк или столбцов, а затем нажмите клавиши CTRL+C.
Примечание: Убедитесь, что для этого нужно скопировать данные, так как не получится использовать команду Вырезать или CTRL+X.
-
Выберите новое место на том месте на компьютере, куда вы хотите ввести транспонную таблицу, чтобы вместить данные в достаточном месте. В новой таблице будут полностью переоформатироваться все данные и форматирование, которые уже есть.
Щелкните правой кнопкой мыши левую верхнюю ячейку, в которой нужно ввести транспонировать таблицу, и выберите транспонировать
.
-
После успешного поворота данных можно удалить исходную таблицу, и данные в новой таблице останутся без изменений.
Советы по транспонированию данных
-
Если данные содержат формулы, Excel автоматически обновляет их в соответствие с новым расположением. Убедитесь, что в этих формулах используются абсолютные ссылки. Если они не используются, перед поворотом данных можно переключаться между относительными, абсолютными и смешанными ссылками.
-
Если вы хотите часто поворачивать данные для их просмотра под разными углами, создайте с помощью нее с помощью перетаскиванием полей из области строк в область столбцов (или наоборот)в списке полей.
Вы можете ввести в книгу данные в качестве транспон данных. Транспонировать: переупочевание содержимого скопированные ячейки при копировании. Данные строк будут вставлены в столбцы, и наоборот.
Вот как можно транспоннять содержимое ячейки:
-
Скопируйте диапазон ячеев.
-
Вы выберите пустые ячейки, в которые вы хотите ввести транспонировать данные.
-
На вкладке Главная щелкните значок Ввести и выберите Ввести транспонировать.
Превращение строк в столбцы и обратно
Постановка задачи
Хотим, упрощенно говоря, повернуть таблицу на бок, т.е. то, что располагалось в строке — пустить по столбцу и наоборот:

Способ 1. Специальная вставка
Выделяем и копируем исходную таблицу (правой кнопкой мыши — Копировать). Затем щелкаем правой по пустой ячейке, куда хотим поместить повернутую таблицу и выбираем из контекстного меню команду Специальная вставка (Paste Special). В открывшемся диалоговом окне ставим галочку Транспонировать (Transpose) и жмем ОК.

Минусы: не всегда корректно копируются ячейки с формулами, нет связи между таблицами (изменение данных в первой таблице не повлияет на вторую).
Плюсы: в транспонированной таблице сохраняется исходное форматирование ячеек.
Способ 2. Функция ТРАНСП
Выделяем нужное количество пустых ячеек (т.е. если, например, исходная таблица была из 3 строк и 5 столбцов, то выделить обязательно нужно диапазон из 5 строк и 3 столбцов) и вводим в первую ячейку функцию ТРАНСП (TRANSPOSE) из категории Ссылки и массивы (Lookup and Reference):

После ввода функции необходимо нажать не Enter, а Ctrl+Shift+Enter, чтобы ввести ее сразу во все выделенные ячейки как формулу массива. Если раньше не сталкивались с формулами массивов, то советую почитать тут — это весьма экзотический, но очень мощный инструмент в Excel.
Плюсы: между таблицами сохраняется связь, т.е. изменения в первой таблице тут же отражаются во второй.
Минусы: не сохраняется форматирование, пустые ячейки из первой таблицы отображаются в виде нулей во второй, нельзя редактировать отдельные ячейки во второй таблице, поскольку формулу массива можно менять только целиком.
Способ 3. Формируем адрес сами
Этот способ отчасти похож не предыдущий, но позволяет свободно редактировать значения во второй таблице и вносить в нее любые правки при необходимости. Для создания ссылок на строки и столбцы нам понадобятся четыре функции из категории Ссылки и массивы:
- Функция АДРЕС(номер_строки; номер_столбца) — выдает адрес ячейки по номеру строки и столбца на листе, т.е. АДРЕС(2;3) выдаст, например, ссылку на ячейку C2.
- Функция ДВССЫЛ(ссылка_в_виде_текста) — преобразует текстовую строку, например, «F3» в настоящую ссылку на ячейку F3.
- Функции СТРОКА(ячейка) и СТОЛБЕЦ(ячейка) — выдают номер строки и столбца для заданной ячейки, например =СТРОКА(F1) выдаст 1, а =СТОЛБЕЦ(А3) выдаст 3.
Теперь соединяем эти функции, чтобы получить нужную нам ссылку, т.е. вводим в любую свободную ячейку вот такую формулу:
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))
в английской версии Excel это будет =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
А затем копируем (протягиваем) формулу на соседние ячейки как обычно черным крестом. В итоге должно получиться примерно следующее:

Т.е. при копировании формулы вниз по столбцу, она выдает ссылку, которая уходит вправо по строке и наоборот. Чего и требовалось.
Плюсы: сохраняются связи между таблицами, можно легко вносить изменения во вторую таблицу.
Минусы: форматирование не сохраняется, но его можно легко воспроизвести Специальной вставкой (вставить только Формат с флажком Транспонировать
Как транспонировать / преобразовать столбцы и строки в один столбец?
При использовании листа Excel иногда возникает проблема: как преобразовать или транспонировать диапазон данных в один столбец? (См. Следующие скриншоты 
Транспонировать / преобразовывать столбцы и строки в один столбец с формулой
Транспонировать / преобразовывать столбцы и строки в один столбец с кодом VBA
Транспонировать/преобразовывать столбцы и строки в один столбец с Kutools for Excel
Транспонировать / преобразовывать столбцы и строки в один столбец с формулой
Следующая длинная формула может помочь вам быстро перенести диапазон данных в столбец, пожалуйста, сделайте следующее:
1. Сначала определите имя диапазона для вашего диапазона данных, выберите данные диапазона, которые вы хотите преобразовать, щелкните правой кнопкой мыши и выберите Определить имя сформировать контекстное меню. в Новое имя диалоговом окне введите желаемое имя диапазона. Затем нажмите OK. Смотрите скриншот:
2. После указания имени диапазона щелкните пустую ячейку, в этом примере я щелкну ячейку E1, а затем введу эту формулу: =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1).
Внимание: Мои данные — название диапазона выбранных данных, вы можете изменить его по своему усмотрению.
3. Затем перетащите формулу в ячейку, пока не отобразится информация об ошибке. Все данные в диапазоне были перенесены в один столбец. Смотрите скриншот:
Транспонировать / преобразовывать столбцы и строки в один столбец с кодом VBA
С помощью следующего кода VBA вы также можете объединить несколько столбцов и строк в один столбец.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули окно.
Sub ConvertRangeToColumn()
'Updateby20131126
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Нажмите F5 нажмите клавишу для запуска кода, и отобразится диалоговое окно, в котором вы можете выбрать диапазон для преобразования. Смотрите скриншот:
4. Затем нажмите Ok, и отображается другое диалоговое окно для выбора отдельной ячейки для вывода результата, см. снимок экрана:
5. И нажмите Ok, то содержимое ячейки диапазона преобразуется в список столбцов, см. снимок экрана:
Транспонировать/преобразовывать столбцы и строки в один столбец с Kutools for Excel
Возможно, формула слишком длинная для запоминания, а код VBA имеет некоторые ограничения для вас, в этой ситуации, пожалуйста, не беспокойтесь, здесь я представлю вам более простой и многофункциональный инструмент —Kutools for Excel, С его Transform Range утилита, и вы сможете решить эту проблему быстро и удобно.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите диапазон, который вы хотите транспонировать.
2. Нажмите Кутулс > Transform Range, см. снимок экрана:
3. в Transform Range диалоговое окно, выберите Range to single column вариант, см. снимок экрана:
4. Затем нажмите OKи укажите ячейку для вывода результата из всплывающего окна.
5. Нажмите OK, а данные нескольких столбцов и строк были перенесены в один столбец.
Если вы хотите преобразовать столбец в диапазон с фиксированными строками, вы также можете использовать Transform Range функция, чтобы быстро справиться с этим.
Транспонировать кросс-таблицу в таблицу списка с помощью Kutools for Excel
Если у вас есть перекрестная таблица, которую необходимо преобразовать в таблицу списка, как показано на скриншоте ниже, за исключением повторного ввода данных один за другим, вы также можете использовать Kutools for ExcelАвтора Transpose Table Dimensions утилита для быстрого преобразования между кросс-таблицей и списком в Excel.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите кросс-таблицу, которую вы хотите преобразовать в список, нажмите Кутулс > Range > Transpose Table Dimensions.
2. в Transpose Table Dimension диалог, проверьте Cross table to list вариант на Transpose type раздел, выберите ячейку для размещения новой таблицы форматирования.
3. Нажмите Ok, теперь кросс-таблица преобразована в список.
Статьи по теме:
Как изменить строку на столбец в Excel?
Как транспонировать / преобразовать один столбец в несколько столбцов в Excel?
Как транспонировать / преобразовать столбцы и строки в одну строку?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Если необходимо преобразовать массив в столбец или строку (рис. 1), можно воспользоваться функцией Индекс.
Рис. 1. Массив преобразован в столбец
Скачать статью в формате Word, примеры в формате Excel
Функция ИНДЕКС возвращает значение, хранящееся в ячейке (являющейся элементом массива). Какую ячейку выбрать, функция указывает по горизонтальному и вертикальному номеру ячейки, отсчитываемому от левого верхнего угла массива. Например (рис. 2):
Рис. 2. Пример «работы» функции ИНДЕКС
=ИНДЕКС(A1:G16;3;5)
где A1:G16 – область массива
3 – номер строки массива
5 – номер столбца массива
то есть, индекс задал ячейку Е3
Чтобы легче понять формулу ИНДЕКС, преобразующую массив в столбец, выполним последовательные шаги (см. также лист «Рис. 3» Excel-файла):
- Функция СТРОКА() возвращает номер строки той ячейки, в которой она забита (рис. 3); столбец I;
- Функция ЧИСЛСТОЛБ($A$1:$G$16) возвращает число столбцов в массиве;
- Функция ОКРВВЕРХ(СТРОКА()/ЧИСЛСТОЛБ($A$1:$G$16);1) возвращает номер столбца, ячейки, значение который мы хотим получить, столбец J; дает значение 1 для первых 7 значений (в общем случае, для первых N значений, где N – число столбцов в массиве);
- Функция ОСТАТ(СТРОКА();ЧИСЛСТОЛБ($A$1:$G$16)+0,0001) возвращает номер от 1 до 7 (в общем случае, от 1 до N, где N – число столбцов в массиве); получается, что идет перебор индексов: сначала первый индекс равен 1 (строка), а второй изменяется от 1 до 7 (столбец); далее строка = 2, а столбец перебирается от 1 до 7 и т.д., пока не пройдемся по всем строкам массива; +0,0001 – это маленькая хитрость; без этой добавочки при делении 7/7 будет получаться 0 в остатке, а нам нужно получить 7; эта формула расположена в столбце K;
- Функция ИНДЕКС($A$1:$G$16;ОКРВВЕРХ(СТРОКА()/ЧИСЛСТОЛБ($A$1:$G$16);1); ОКРВВЕРХ(ОСТАТ(СТРОКА();ЧИСЛСТОЛБ($A$1:$G$16)+0,0001);1)) возвращает значение из ячейки; см. столбец L
- Массив, где ищется значение, выделен желтым
- Номер строки внутри массива – зеленым
- Номер столбца внутри массива – серым
В Excel-файле представлено преобразование массива в столбец и строку. При этом приведено два варианта преобразования:
- Сначала по строкам, затем по столбцам массива
- Сначала по столбцам, затем по строкам массив
Исходные данные: Дана огромная таблица в Excel с большим количеством строк и столбцов.
Задача: собрать все значения всех колонок в один столбец.
Рис.1. Исходная таблица Excel
Решение: для решения задачи потребуется помощь макросов. Ниже приведен код макроса для решения задачи.
Sub CopyFilledRows()
On Error Resume Next
r = 1
With Sheets(2)
For Each c In Intersect(Selection, ActiveSheet.UsedRange).Cells
If c <> "" Then
.Cells(r, 1) = c
r = r + 1
End If
Next
End With
End Sub
Для того, чтобы макрос сработал, выполните следующие шаги:
1. Добавть макрос в книгу (Разработчик – Visual Basic, в открывшемся редакторе вставьте код)
2. Выделите на листе диапазон данных, которые нужно собрать в один столбец;
3. Запустите макрос (Разработчик – Макросы – Выполнить)
Рис.2. Запуск макроса в Excel
На втором листе книги в первой колонке будет массив всех значений из выделенного фрагмента.
Итак, таблица в Excel
— это прямоугольная область листа, в которой каждая строка представляет собой набор данных, а в ячейке на пересечении данной строки и каждого столбца находится единица данных. Каждому столбцу присваивается уникальное имя. Столбцы таблицы называются полями, а строки — записями. В таблице не может быть записей, в которых нет данных ни в одном поле.
Если на листе Excel выбран прямоугольный диапазон ячеек, его легко преобразовать в таблицу, и, наоборот, с записями таблицы можно работать как с обычным диапазоном ячеек. В таблицах можно использовать функции и формулы Excel, в частности, можно вставить строку (запись), в которой подсчитываются общие или промежуточные итоги.
Создание таблицы
- Выделить любую ячейку, содержащую данные, которые должны будут войти в таблицу.
- В ленте меню выбрать вкладку Вставка [Insert], в раскрывшейся группе команд Таблицы [Tables] необходимо выбрать команду Таблица [Table].
- Появится диалоговое окно, в котором Excel автоматически предложит границы диапазона данных для таблицы
Если этот диапазон нужно изменить, достаточно выделить нужный диапазон данных курсором.
- ОК.
Присвоение имени таблице
По умолчанию при создании таблицы Excel ей присваивается стандартное имя: Таблица1, Таблица2 и т.д. Если имеется только одна таблица, то можно ограничиться этим именем. Но удобнее присвоить таблице содержательное имя.
- Выделить ячейку таблицы.
- На вкладке Конструктор [Design], в группе Свойства [Properties] ввести новое имя таблицы в поле Имя таблицы нажать клавишу Enter.
Требования к именам таблиц аналогичны требованиям к именованным диапазонам.
Форматирование таблиц
В созданной таблице можно изменить цвет, шрифт, вид границ и прочее. С помощью форматирования можно добиться того, что информация будет легче восприниматься. Эти изменения можно выполнить самостоятельно или выбрать готовый стиль оформления.
- Выделить ячейку таблицы.
- На вкладке Конструктор [Design] выбрать нужное оформление в группе Стили таблиц [Table Styles].
Вычисления в таблицах
К таблице можно добавить дополнительную, итоговую строку, в которой будут размещены результаты выполнения различных функций, примененных к данным некоторых или всех полей. Порядок действия следующий:
- На вкладке Конструктор [Design] в группе Параметры стилей таблиц [Table Style Options], выбрать Строка итогов [Total Row].
- В появившейся новой строке Итог [Total] выбрать поле, в котором нужно обработать данные, и в раскрывающемся меню выбрать нужную функцию.
Для ввода в конец таблицы новых записей следует выделить строку итогов и воспользоваться правой кнопкой мыши. Появится контекстное меню, в нем нужно выбрать пункт Вставить. Если в появившуюся новую строку ввести данные, они будут автоматически участвовать в пересчете итогов.
Для того чтобы сократить время на добавление строк в таблицу, можно отключить строку итогов и довалять новые данные с новой строки. В этом случае таблица будет автоматически расширять свой диапазон.
Для проведения расчетов и помещения результатов в новое поле, достаточно ввести формулу в одну ячейку этого поля. Excel автоматически размножит ее по всем ячейкам данного поля. Если правильно установлены параметры Excel, при вводе формулы в нее записываются не адреса ячейки, а имена полей.
Если вместо имени поля на экране в формулах указаны адреса ячеек, необходимо изменить настройку:
- Выбрать вкладку Файл [File] или кнопку Офис [Office], в зависимости от версии Excel; затем вкладку Параметры [Options].
- В разделе Формулы [Formulas], в группе Работа с формулами [Working with formulas], отметить пункт Использовать имена таблиц в формулах [Use table name in formulas].
- OK.
Преобразование таблицы в обычный диапазон
При работе с таблицами, наряду с преимуществами, действует ряд ограничений: нельзя объединять ячейки, нельзя добавлять промежуточные итоги и т.д. Если расчеты в таблице завершены и нужны только данные из нее и, возможно, оформление, таблицу можно быстро преобразовать в обычный диапазон данных. Для этого необходимо выполнить следующие шаги:
- На вкладке Конструктор [Design] выбрать группу Сервис [Tools].
- Выбрать вкладку Преобразовать в диапазон [Convert to Range].



Пожалуйста, составьте программу, которая из слов»СТРАХ»,»БЕЛКА»,»ЦЫПЛЁНОК» получает слово «СТОЛБЕЦ»
.






























