Разделение текста на столбцы с помощью мастера распределения текста по столбцам
С помощью мастера распределения текста по столбцам текст, содержащийся в одной ячейке, можно разделить на несколько.
Проверьте, как это работает!
-
Выделите ячейку или столбец с текстом, который вы хотите разделить.
-
На вкладке Данные нажмите кнопку Текст по столбцам.
-
В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
-
Выберите разделители для своих данных. Например, запятую и пробел. Данные можно предварительно просмотреть в окне Образец разбора данных.
-
Нажмите кнопку Далее.
-
В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.
-
Нажмите кнопку Готово.
См. также
Разделение текста по столбцам с помощью функций
Нужна дополнительная помощь?
Превращение строк в столбцы и обратно
Постановка задачи
Хотим, упрощенно говоря, повернуть таблицу на бок, т.е. то, что располагалось в строке — пустить по столбцу и наоборот:
Способ 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)))
А затем копируем (протягиваем) формулу на соседние ячейки как обычно черным крестом. В итоге должно получиться примерно следующее:
Т.е. при копировании формулы вниз по столбцу, она выдает ссылку, которая уходит вправо по строке и наоборот. Чего и требовалось.
Плюсы: сохраняются связи между таблицами, можно легко вносить изменения во вторую таблицу.
Минусы: форматирование не сохраняется, но его можно легко воспроизвести Специальной вставкой (вставить только Формат с флажком Транспонировать
Бывает, что необходимо какой-то список слов, фраз или других данных, расположенных списком в столбик преобразовать в последовательность строкой через запятую или наоборот из списка через запятую сформировать столбец, где каждая отделенная запятой фраза идет с новой строки. Мне, например, это бывает нужно при работе со списками ключевых слов в SEO-задачах или при работе с системами контекстной рекламы.
Есть, как минимум, три способа выполнить поставленную задачу:
- Преобразовать программе Notepad++
- Cтолбец в строку Excel через запятую
- Использовать Онлайн-скрипт
Содержание
- Преобразование в программе Notepad++ с помощью регулярных выражений
- Преобразование столбца в строку через запятую в Excel
- Столбик через запятую и обратно онлайн
- Список через запятую > в столбик
- Столбик > список через запятую
Преобразование в программе Notepad++ с помощью регулярных выражений
Эта программа известна практически всем, кто занимался редактированием сайтов или работал с кодом. Если у вас ее еще нет, советую скачать и поставить.
Вставляем в программу список для преобразования.
Для примера я взял набор фраз через запятую. Нажимаем комбинацию клавиш Ctrl+H (поиск с заменой), в открывшемся окне ставим метку Режим поиска — Расширенный, Найти: , (запятая и пробел), Заменить на: n Заменить все. Получаем список столбиком.
Если нужно из столбика сделать список через запятую, тогда то же самое, только Найти: rn и Заменить на: , (запятая и пробел).
Если что-то заменилось не так, как надо, делаем отмену Ctrl+Z и пробуем по-другому, например, ищем только n.
Преобразование столбца в строку через запятую в Excel
Используем формулу «лесенка».
Скачать готовый файл можно здесь: 4memo-ru-stolbik-zapyataya.xls
Запятую в самой первой ячейке можно заменить, на что-то другое, если нужно.
Формулу во втором столбце растягиваем вниз, насколько потребуется.
Если полученный список нужно вставить в другой лист эксель, то не забываем избавиться от формул, вставив предварительно данные в блокнот.
Столбик через запятую и обратно онлайн
Этот вариант подойдет для тех, кому нужно срочно, прямо на этой странице, решить задачу конвертации списка — за вас все сделает скрипт.
Список через запятую > в столбик
Разделитель-запятую можно заменить каким-нибудь другим, например, точкой с запятой, только про пробел не забудьте, если он вам нужен.
Столбик > список через запятую
Лично для меня из всех трех способов перестроения списка наиболее удобным является самый первый — через Нотпад, а вы выберите тот, который удобен вам.
Надеюсь, кому-то эта страница облегчит жизнь.
Иногда во время работы с исходными данными в Excel пользователи получают довольно специфические списки, где в рамках одной строки собрано сразу несколько категорий значений, которые хотелось бы разделить на столбцы для создания полноценной таблицы. Заниматься форматированием вручную – не лучшая затея, особенно когда функциональность программы предусматривает автоматический инструмент для выполнения поставленной задачи.
Как выглядит склеенный текст в Excel
Сначала я хочу кратко рассказать о том, какую трудность будем решать при помощи следующей инструкции. Например, у вас есть перечень товаров с количеством и ценой, но все это написано в одной строчке с разделением через запятую, точку или любой другой символ. Такой пример показан на следующем изображении.
Это может быть совершенно любая информация: ФИО людей, даты, перечни разных форматов. Главное условие для корректного разделения всей этой информации на корректные столбцы – наличие одного и того же разделителя, который алгоритм и будет брать во внимание.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Разделение текста на столбцы в Excel
Задача ясна, значит, сейчас предстоит разобраться с ней. Откройте лист и найдите там необходимый диапазон с данными. Если еще не вставили его в Excel, создайте пустой лист и сделайте это. После этого выполните такие действия:
-
Выделите только первый столбец, не затрагивая остальные строки (они и так являются пустыми, ведь символы просто не помещаются в рамку одной ячейки и переходят на другие). Перейдите на вкладку «Данные».
-
Вызовите инструмент «Текст по столбцам».
-
В большинстве случаев используется формат данных «С разделителями», который и следует отметить маркером, а затем перейти к следующему этапу в Мастере.
-
Снимите галочку с пункта «Знак табуляции», если в ваших строках применяется другой разделитель для значений. В случае когда действительно разделителем выступает табуляция, оставьте значение по умолчанию и сразу жмите «Далее».
-
Если сняли галочку со знака табуляции, выберите другой разделитель, использующийся в вашем списке. Программа предлагает три стандартных варианта и возможность указать свой.
-
В моем случае разделителем выступает косая черта (слэш) – нужно отметить галочкой «Другой» и напечатать этот знак в соответствующем поле. Как только вы это сделаете, ниже сразу отобразится результат выполнения операции.
-
Если при использовании в качестве разделителя выступают последовательные знаки, например кавычки, отметьте маркером пункт «Считать последовательные разделители одним» и из раскрывающегося списка выберите подходящий для вас вариант.
-
После нажатия по «Далее» отобразится последний шаг настройки, где вам предстоит задать формат данных в столбце. Этот этап можно пропустить, оставив значение «Общий».
-
Вернитесь к листу в Excel и убедитесь в том, что разделение прошло успешно. По надобности поправьте размеры ячеек и перенесите то содержимое, которое было отмечено другим разделителем и не посчиталось автоматически.
Остается только произвести любое оформление для созданной таблицы, чтобы продолжить с ней взаимодействие. Я не буду заострять на этом внимание, а только максимально сжато расскажу о формировании простой таблицы:
-
Выделите столбцы и строки, перейдите на вкладку «Вставка» и нажмите «Таблица».
-
Создайте таблицу с заголовками или без, оставив расположение данных в состоянии по умолчанию.
-
Если нужно, разверните меню «Форматировать как таблицу» и выберите другой вариант визуального оформления.
Конечно, это далеко не вся информация по теме. Если вы желаете более детально ознакомиться с ней, прочитайте другую мою статью – «Как работать в Excel с таблицами».
Разделение текста на столбцы сэкономило огромное количество времени. Просто представьте, если бы все эти данные пришлось сортировать вручную. Теперь вы знаете, что встроенный в Microsoft Excel инструмент с этим прекрасно справляется в автоматическом режиме, освобождая вас от необходимости выполнять муторные манипуляции.
Skip to content
В руководстве объясняется, как разделить ячейки в Excel с помощью формул и стандартных инструментов. Вы узнаете, как разделить текст запятой, пробелом или любым другим разделителем, а также как разбить строки на текст и числа.
Разделение текста из одной ячейки на несколько — это задача, с которой время от времени сталкиваются все пользователи Excel. В одной из наших предыдущих статей мы обсуждали, как разделить ячейки в Excel с помощью функции «Текст по столбцам» и «Мгновенное заполнение». Сегодня мы подробно рассмотрим, как можно разделить текст по ячейкам с помощью формул.
Чтобы разбить текст в Excel, вы обычно используете функции ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT) или ПСТР (MID) в сочетании с НАЙТИ (FIND) или ПОИСК (SEARCH). На первый взгляд, некоторые рассмотренные ниже приёмы могут показаться сложными. Но на самом деле логика довольно проста, и следующие примеры помогут вам разобраться.
Для преобразования текста в ячейках в Excel ключевым моментом является определение положения разделителя в нем. Что может быть таким разделителем? Это запятая, точка с запятой, наклонная черта, двоеточие, тире, восклицательный знак и т.п. И, как мы далее увидим, даже целое слово.
- Как распределить ФИО по столбцам
- Как использовать разделители в тексте
- Разделяем текст по переносам строки
- Как разделить длинный текст на множество столбцов
- Как разбить «текст + число» по разным ячейкам
- Как разбить ячейку вида «число + текст»
- Разделение ячейки по маске (шаблону)
- Использование инструмента Split Text
В зависимости от вашей задачи эту проблему можно решить с помощью функции ПОИСК (без учета регистра букв) или НАЙТИ (с учетом регистра).
Как только вы определите позицию разделителя, используйте функцию ЛЕВСИМВ, ПРАВСИМВ и ПСТР, чтобы извлечь соответствующую часть содержимого.
Для лучшего понимания пошагово рассмотрим несколько примеров.
Делим текст вида ФИО по столбцам.
Если выяснение загадочных поворотов формул Excel — не ваше любимое занятие, вам может понравиться визуальный метод разделения ячеек, который демонстрируется ниже.
В столбце A нашей таблицы записаны Фамилии, имена и отчества сотрудников. Необходимо разделить их на 3 столбца.
Можно сделать это при помощи инструмента «Текст по столбцам». Об этом методе мы достаточно подробно рассказывали, когда рассматривали, как можно разделить ячейку по столбцам.
Кратко напомним:
На ленте «Данные» выбираем «Текст по столбцам» — с разделителями.
Далее в качестве разделителя выбираем пробел.
Обращаем внимание на то, как разделены наши данные в окне образца.
В следующем окне определяем формат данных. По умолчанию там будет «Общий». Он нас вполне устраивает, поэтому оставляем как есть. Выбираем левую верхнюю ячейку диапазона, в который будет помещен наш разделенный текст. Если нужно оставить в неприкосновенности исходные данные, лучше выбрать B1, к примеру.
В итоге имеем следующую картину:
При желании можно дать заголовки новым столбцам B,C,D.
А теперь давайте тот же результат получим при помощи формул.
Для многих это удобнее. В том числе и по той причине, что если в таблице появятся новые данные, которые нужно разделить, то нет необходимости повторять всю процедуру с начала, а просто нужно скопировать уже имеющиеся формулы.
Итак, чтобы выделить из нашего ФИО фамилию, будем использовать выражение
=ЛЕВСИМВ(A2; ПОИСК(» «;A2;1)-1)
В качестве разделителя мы используем пробел. Функция ПОИСК указывает нам, в какой позиции находится первый пробел. А затем именно это количество букв (за минусом 1, чтобы не извлекать сам пробел) мы «отрезаем» слева от нашего ФИО при помощи ЛЕВСИМВ.
Далее будет чуть сложнее.
Нужно извлечь второе слово, то есть имя. Чтобы вырезать кусочек из середины, используем функцию ПСТР.
=ПСТР(A2; ПОИСК(» «;A2) + 1; ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) — 1)
Как вы, наверное, знаете, функция Excel ПСТР имеет следующий синтаксис:
ПСТР (текст; начальная_позиция; количество_знаков)
Текст извлекается из ячейки A2, а два других аргумента вычисляются с использованием 4 различных функций ПОИСК:
- Начальная позиция — это позиция первого пробела плюс 1:
ПОИСК(» «;A2) + 1
- Количество знаков для извлечения: разница между положением 2- го и 1- го пробелов, минус 1:
ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) – 1
В итоге имя у нас теперь находится в C.
Осталось отчество. Для него используем выражение:
=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(» «; A2; ПОИСК(» «; A2) + 1))
В этой формуле функция ДЛСТР (LEN) возвращает общую длину строки, из которой вы вычитаете позицию 2- го пробела. Получаем количество символов после 2- го пробела, и функция ПРАВСИМВ их и извлекает.
Вот результат нашей работы по разделению фамилии, имени и отчества из одной по отдельным ячейкам.
Распределение текста с разделителями на 3 столбца.
Предположим, у вас есть список одежды вида Наименование-Цвет-Размер, и вы хотите разделить его на 3 отдельных части. Здесь разделитель слов – дефис. С ним и будем работать.
- Чтобы извлечь Наименование товара (все символы до 1-го дефиса), вставьте следующее выражение в B2, а затем скопируйте его вниз по столбцу:
=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)
Здесь функция мы сначала определяем позицию первого дефиса («-«) в строке, а ЛЕВСИМВ извлекает все нужные символы начиная с этой позиции. Вы вычитаете 1 из позиции дефиса, потому что вы не хотите извлекать сам дефис.
- Чтобы извлечь цвет (это все буквы между 1-м и 2-м дефисами), запишите в C2, а затем скопируйте ниже:
=ПСТР(A2; ПОИСК(«-«;A2) + 1; ПОИСК(«-«;A2;ПОИСК(«-«;A2)+1) — ПОИСК(«-«;A2) — 1)
Логику работы ПСТР мы рассмотрели чуть выше.
- Чтобы извлечь размер (все символы после 3-го дефиса), введите следующее выражение в D2:
=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(«-«; A2; ПОИСК(«-«; A2) + 1))
Аналогичным образом вы можете в Excel разделить содержимое ячейки в разные ячейки любым другим разделителем. Все, что вам нужно сделать, это заменить «-» на требуемый символ, например пробел (« »), косую черту («/»), двоеточие («:»), точку с запятой («;») и т. д.
Примечание. В приведенных выше формулах +1 и -1 соответствуют количеству знаков в разделителе. В нашем примере это дефис (то есть, 1 знак). Если ваш разделитель состоит из двух знаков, например, запятой и пробела, тогда укажите только запятую («,») в ваших выражениях и используйте +2 и -2 вместо +1 и -1.
Как разбить текст по переносам строки.
Чтобы разделить слова в ячейке по переносам строки, используйте подходы, аналогичные тем, которые были продемонстрированы в предыдущем примере. Единственное отличие состоит в том, что вам понадобится функция СИМВОЛ (CHAR) для передачи символа разрыва строки, поскольку вы не можете ввести его непосредственно в формулу с клавиатуры.
Предположим, ячейки, которые вы хотите разделить, выглядят примерно так:
Напомню, что перенести таким вот образом текст внутри ячейки можно при помощи комбинации клавиш ALT + ENTER.
Возьмите инструкции из предыдущего примера и замените дефис («-») на СИМВОЛ(10), где 10 — это код ASCII для перевода строки.
Чтобы извлечь наименование товара:
=ЛЕВСИМВ(A2; ПОИСК(СИМВОЛ(10);A2;1)-1)
Цвет:
=ПСТР(A2; ПОИСК(СИМВОЛ(10);A2) + 1; ПОИСК(СИМВОЛ(10);A2; ПОИСК(СИМВОЛ(10);A2)+1) — ПОИСК(СИМВОЛ(10);A2) — 1)
Размер:
=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(СИМВОЛ(10); A2; ПОИСК(СИМВОЛ(10); A2) + 1))
Результат вы видите на скриншоте выше.
Таким же образом можно работать и с любым другим символом-разделителем. Достаточно знать его код.
Как распределить текст с разделителями на множество столбцов.
Изучив представленные выше примеры, у многих из вас, думаю, возник вопрос: «А что, если у меня не 3 слова, а больше? Если нужно разбить текст в ячейке на 5 столбцов?»
Если действовать методами, описанными выше, то формулы будут просто мега-сложными. Вероятность ошибки при их использовании очень велика. Поэтому мы применим другой метод.
Имеем список наименований одежды с различными признаками, перечисленными через дефис. Как видите, таких признаков у нас может быть от 2 до 6. Делим текст в наших ячейках на 6 столбцов так, чтобы лишние столбцы в отдельных строках просто остались пустыми.
Для первого слова (наименования одежды) используем:
=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)
Как видите, это ничем не отличается от того, что мы рассматривали ранее. Ищем позицию первого дефиса и отделяем нужное количество символов.
Для второго столбца и далее понадобится более сложное выражение:
=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1);1)-1);»»)
Замысел здесь состоит в том, что при помощи функции ПОДСТАВИТЬ мы удаляем из исходного содержимого наименование, которое уже ранее извлекли (то есть, «Юбка»). Вместо него подставляем пустое значение «» и в результате имеем «Синий-M-39-42-50». В нём мы снова ищем позицию первого дефиса, как это делали ранее. И при помощи ЛЕВСИМВ вновь выделяем первое слово (то есть, «Синий»).
А далее можно просто «протянуть» формулу из C2 по строке, то есть скопировать ее в остальные ячейки. В результате в D2 получим
=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1);1)-1);»»)
Обратите внимание, жирным шрифтом выделены произошедшие при копировании изменения. То есть, теперь из исходного текста мы удаляем все, что было уже ранее найдено и извлечено – содержимое B2 и C2. И вновь в получившейся фразе берём первое слово — до дефиса.
Если же брать больше нечего, то функция ЕСЛИОШИБКА обработает это событие и вставит в виде результата пустое значение «».
Скопируйте формулы по строкам и столбцам, на сколько это необходимо. Результат вы видите на скриншоте.
Таким способом можно разделить текст в ячейке на сколько угодно столбцов. Главное, чтобы использовались одинаковые разделители.
Как разделить ячейку вида ‘текст + число’.
Начнем с того, что не существует универсального решения, которое работало бы для всех буквенно-цифровых выражений. Выбор зависит от конкретного шаблона, по которому вы хотите разбить ячейку. Ниже вы найдете формулы для двух наиболее распространенных сценариев.
Предположим, у вас есть столбец смешанного содержания, где число всегда следует за текстом. Естественно, такая конструкция рассматривается Excel как символьная. Вы хотите поделить их так, чтобы текст и числа отображались в отдельных ячейках.
Результат может быть достигнут двумя разными способами.
Метод 1. Подсчитайте цифры и извлеките это количество символов
Самый простой способ разбить выражение, в котором число идет после текста:
Чтобы извлечь числа, вы ищите в строке все возможные числа от 0 до 9, получаете общее их количество и отсекаете такое же количество символов от конца строки.
Если мы работаем с ячейкой A2:
=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))
Чтобы извлечь буквы, вы вычисляете, сколько их у нас имеется. Для этого вычитаем количество извлеченных цифр (C2) из общей длины исходной ячейки A2. После этого при помощи ЛЕВСИМВ отрезаем это количество символов от начала ячейки.
=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))
здесь A2 – исходная ячейка, а C2 — извлеченное число, как показано на скриншоте:
Метод 2: узнать позицию 1- й цифры в строке
Альтернативное решение — использовать эту формулу массива для определения позиции первой цифры:
{=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))}
Как видите, мы последовательно ищем каждое число из массива {0,1,2,3,4,5,6,7,8,9}. Чтобы избежать появления ошибки если цифра не найдена, мы после содержимого ячейки A2 добавляем эти 10 цифр. Excel последовательно перебирает все символы в поисках этих десяти цифр. В итоге получаем опять же массив из 10 цифр — номеров позиций, в которых они нашлись. И из них функция МИН выбирает наименьшее число. Это и будет та позиция, с которой начинается группа чисел, которую нужно отделить от основного содержимого.
Также обратите внимание, что это формула массива и ввод её нужно заканчивать не как обычно, а комбинацией клавиш CTRL
+ SHIFT
+ ENTER
.
Как только позиция первой цифры найдена, вы можете разделить буквы и числа, используя очень простые формулы ЛЕВСИМВ и ПРАВСИМВ.
Чтобы получить текст:
=ЛЕВСИМВ(A2; B2-1)
Чтобы получить числа:
=ПРАВСИМВ(A2; ДЛСТР(A2)-B2+1)
Где A2 — исходная строка, а B2 — позиция первого числа.
Чтобы избавиться от вспомогательного столбца, в котором мы вычисляли позицию первой цифры, вы можете встроить МИН в функции ЛЕВСИМВ и ПРАВСИМВ:
Для вытаскивания текста:
=ЛЕВСИМВ(A2; МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))-1)
Для чисел:
=ПРАВСИМВ(A2; ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1)
Этого же результата можно достичь и чуть иначе.
Сначала мы извлекаем из ячейки числа при помощи вот такого выражения:
=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) -ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))
То есть, сравниваем длину нашего текста без чисел с его исходной длиной, и получаем количество цифр, которое нужно взять справа. К примеру, если текст без цифр стал короче на 2 символа, значит справа надо «отрезать» 2 символа, которые и будут нашим искомым числом.
А затем уже берём оставшееся:
=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))
Как видите, результат тот же. Можете воспользоваться любым способом.
Как разделить ячейку вида ‘число + текст’.
Если вы разделяете ячейки, в которых буквы стоят после цифр, вы можете отделять числа по следующей формуле:
=ЛЕВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))
Она аналогична рассмотренной в предыдущем примере, за исключением того, что вы используете функцию ЛЕВСИМВ вместо ПРАВСИМВ, чтобы получить число теперь уже из левой части выражения.
Теперь, когда у вас есть числа, отделите буквы, вычитая количество цифр из общей длины исходной строки:
=ПРАВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(B2))
Где A2 — исходная строка, а B2 — искомое число, как показано на снимке экрана ниже:
Как разбить текст по ячейкам по маске (шаблону).
Эта опция очень удобна, когда вам нужно разбить список схожих строк на некоторые элементы или подстроки. Сложность состоит в том, что исходный текст должен быть разделен не при каждом появлении определенного разделителя (например, пробела), а только при некоторых определенных вхождениях. Следующий пример упрощает понимание.
Предположим, у вас есть список строк, извлеченных из некоторого файла журнала:
Вы хотите, чтобы дата и время, если таковые имеются, код ошибки и поясняющие сведения были размещены в 3 отдельных столбцах. Вы не можете использовать пробел в качестве разделителя, потому что между датой и временем также есть пробелы. Также есть пробелы в тексте пояснения, который также должен весь находиться слитно в одном столбце.
Решением является разбиение строки по следующей маске: * ERROR: * Exception: *
Здесь звездочка (*) представляет любое количество символов.
Двоеточия (:) включены в разделители, потому что мы не хотим, чтобы они появлялись в результирующих ячейках.
То есть в данном случае в качестве разделителя по столбцам выступают не отдельные символы, а целые слова.
Итак, в начале ищем позицию первого разделителя.
=ПОИСК(«ERROR:»;A2;1)
Затем аналогичным образом находим позицию, в которой начинается второй разделитель:
=ПОИСК(«Exception:»;A2;1)
Итак, для ячейки A2 шаблон выглядит следующим образом:
С 1 по 20 символ – дата и время. С 21 по 26 символ – разделитель “ERROR:”. Далее – код ошибки. С 31 по 40 символ – второй разделитель “Exception:”. Затем следует описание ошибки.
Таким образом, в первый столбец мы поместим первые 20 знаков:
=—ЛЕВСИМВ(A2;ПОИСК(«ERROR:»;A2;1)-1)
Обратите внимание, что мы взяли на 1 позицию меньше, чем начало первого разделителя. Кроме того, чтобы сразу конвертировать всё это в дату, ставим перед формулой два знака минус. Это автоматически преобразует цифры в число, а дата как раз и хранится в виде числа. Остается только установить нужный формат даты и времени стандартными средствами Excel.
Далее нужно получить код:
=ПСТР(A2;ПОИСК(«ERROR:»;A2;1)+6;ПОИСК(«Exception:»;A2;1)-(ПОИСК(«ERROR:»;A2;1)+6))
Думаю, вы понимаете, что 6 – это количество знаков в нашем слове-разделителе «ERROR:».
Ну и, наконец, выделяем из этой фразы пояснение:
=ПРАВСИМВ(A2;ДЛСТР(A2)-(ПОИСК(«Exception:»;A2;1)+10))
Аналогично добавляем 10 к найденной позиции второго разделителя «Exception:», чтобы выйти на координаты первого символа сразу после разделителя. Ведь функция говорит нам только то, где разделитель начинается, а не заканчивается.
Таким образом, ячейку мы распределили по 3 столбцам, исключив при этом слова-разделители.
Если выяснение загадочных поворотов формул Excel — не ваше любимое занятие, вам может понравиться визуальный метод разделения ячеек в Excel, который демонстрируется в следующей части этого руководства.
Как разделить ячейки в Excel с помощью функции разделения текста Split Text.
Альтернативный способ разбить столбец в Excel — использовать функцию разделения текста, включенную в надстройку Ultimate Suite for Excel. Она предоставляет следующие возможности:
- Разделить ячейку по символу-разделителю.
- Разделить ячейку по нескольким разделителям.
- Разделить ячейку по маске (шаблону).
Чтобы было понятнее, давайте более подробно рассмотрим каждый вариант по очереди.
Разделить ячейку по символу-разделителю.
Выбирайте этот вариант, если хотите разделить содержимое ячейки при каждом появлении определённого символа .
Для этого примера возьмем строки шаблона Товар-Цвет-Размер , который мы использовали в первой части этого руководства. Как вы помните, мы разделили их на 3 разных столбца, используя 3 разные формулы . А вот как добиться того же результата за 2 быстрых шага:
- Предполагая, что у вас установлен Ultimate Suite , выберите ячейки, которые нужно разделить, и щелкните значок «Разделить текст (Split Text)» на вкладке «Ablebits Data».
- Панель Разделить текст откроется в правой части окна Excel, и вы выполните следующие действия:
- Разверните группу «Разбить по символам (Split by Characters)» и выберите один из предопределенных разделителей или введите любой другой символ в поле «Пользовательский (Custom)» .
- Выберите, как именно разбивать ячейки: по столбцам или строкам.
- Нажмите кнопку «Разделить (Split)» .
Примечание. Если в ячейке может быть несколько последовательных разделителей (например, более одного символа пробела подряд), установите флажок « Считать последовательные разделители одним».
Готово! Задача, которая требовала 3 формул и 5 различных функций, теперь занимает всего пару секунд и одно нажатие кнопки.
Разделить ячейку по нескольким разделителям.
Этот параметр позволяет разделять текстовые ячейки, используя любую комбинацию символов в качестве разделителя. Технически вы разделяете строку на части, используя одну или несколько разных подстрок в качестве границ.
Например, чтобы разделить предложение на части, используя запятые и союзы, активируйте инструмент «Разбить по строкам (Split by Strings)» и введите разделители, по одному в каждой строке:
В данном случае в качестве разделителей мы используем запятую и союз “или”.
В результате исходная фраза разделяется при появлении любого разделителя:
Примечание. Союзы «или», а также «и» часто могут быть частью слова в вашей исследуемой фразе, так что не забудьте ввести пробел до и после них, чтобы предотвратить разрывы слов на части.
А вот еще один пример. Предположим, вы импортировали столбец дат из внешнего источника, и выглядит он следующим образом:
5.1.2021 12:20
9.8.2021 14:50
Этот формат не является обычным для Excel, и поэтому ни одна из функций даты не распознает здесь какие-либо элементы даты или времени. Чтобы разделить день, месяц, год, часы и минуты на отдельные ячейки, введите следующие символы в поле Spilt by strings:
- Точка (.) Для разделения дня, месяца и года
- Двоеточие (:) для разделения часов и минут
- Пробел для разграничения даты и времени
Нажмите кнопку Split, и вы сразу получите результат:
Разделить ячейки по маске (шаблону).
Эта опция очень удобна, когда вам нужно разбить список однородных строк на некоторые элементы или подстроки.
Сложность заключается в том, что исходный текст не может быть разделен при каждом появлении заданного разделителя, а только при некоторых определенных вхождениях. Следующий пример упростит понимание.
Предположим, у вас есть список строк, извлеченных из некоторого файла журнала. Чуть выше в этой статье мы разбивали этот текст по ячейкам при помощи формул. А сейчас используем специальный инструмент. И вы сами решите, какой из способов удобнее и проще.
Вы хотите, чтобы дата и время, если таковые имеются, код ошибки и пояснительная информация, были в трех отдельных столбцах. Вы не можете использовать пробел в качестве разделителя, потому что между датой и временем имеются пробелы, которые должны отображаться в одном столбце, и есть пробелы в тексте пояснения, который также должен быть расположен в отдельном столбце.
Решением является разбиение строки по следующей маске:
* ERROR:* Exception: *
Где звездочка (*) представляет любое количество символов.
Двоеточия (:) включены в разделители, потому что мы не хотим, чтобы они появлялись в результирующих ячейках.
А теперь нажмите кнопку «Разбить по маске (Split by Mask)» на панели «Split Text» , введите маску в соответствующее поле и нажмите «Split».
Результат будет примерно таким:
Примечание. При разделении строки по маске учитывается регистр. Поэтому не забудьте ввести символы в шаблоне точно так, как они отображаются в исходных данных.
Большое преимущество этого метода — гибкость. Например, если все исходные строки имеют значения даты и времени, и вы хотите, чтобы они отображались в разных столбцах, используйте эту маску:
* * ERROR:* Exception: *
Проще говоря, маска указывает надстройке разделить исходные строки на 4 части:
- Все символы перед 1-м пробелом в строке (дата)
- Символы между 1-м пробелом и словом ERROR: (время)
- Текст между ERROR: и Exception: (код ошибки)
- Все, что идет после Exception: (текст описания)
Думаю, вы согласитесь, что использование надстройки Split Text гораздо быстрее и проще, нежели использование формул.
Надеюсь, вам понравился этот быстрый и простой способ разделения строк в Excel. Если вам интересно попробовать, ознакомительная версия доступна для загрузки здесь.
Вот как вы можете разделить текст по ячейкам таблицы Excel, используя различные комбинации функций, а также специальные инструменты. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Читайте также:
Транспонирование в Excel – преобразуем строки в столбцы и наоборот
Смотрите такжеТак как он СТОЛБЕЦ($N$1)? мне не подходит — там надо(Транспонировать). скрипт, который будетA Вы можете пропустить.Вот и всё! В данные в транспонированной
Обязательно нажмите частности с функциямиххх создаёт копию исходных(наконец, самый быстрый способ) кнопкой мыши иТранспонирование данных в Excel ограничен числом столбцовvikttur лист будет меняться поставить галочку «транспонировать».Если в появившемся меню транспонировать строки в– это первыйФункция Вашей новой таблице
- таблице, при этомCtrl+Shift+Enter массива, то, пожалуйста,
- «. На самом деле данных, и, если Нажмите выберите
- – это задача,256
Преобразуем строки в столбцы в Excel при помощи Специальной вставки
: по месяцам приАлександра белкина Вы не нашли столбцы, при условии, столбец. Как неINDIRECT все столбцы преобразованы сохраняя связь с, поскольку это формула внимательно следите за Вы можете заменить они изменятся, ВамCtrl+Alt+VCopy
- знакомая многим пользователям., то ни транспонированием,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($B$6:$B$16;СЧЁТ($B$6:$B$16)-СТОЛБЕЦ(A1)+1) переходе в форму!: Чтобы всю таблицу иконку команды что Вы достаточно трудно догадаться, функция(ДВССЫЛ) служит для в строки. Однако, исходной таблицей. массива. Если для
- тем, чтобы выполнять их на любые
- придётся повторять процесс, выберите опцию(Копировать) в контекстном Очень часто после ни формулами запихнутьЕсли очень надо,
- а вот второй преобразовать, т. е.Transpose
- хорошо владеете VBA.ROW создания непрямой ссылки транспонированные ячейки выглядятВ этом примере мы ввода формулы просто следующие шаги в другие символы, которых
- и транспонировать таблицуTranspose меню. создания сложной таблицы,
»…строк более 500…» про ответ сейчас посмотрю! столбцы сделать строками,(Транспонировать), то можете Если нет, то(СТРОКА) работает точно на ячейку. Например, очень плоско и будем использовать небольшую нажать точности как написано. нет в рассматриваемом снова. Никто не(Транспонировать) и кликните
- нажмите становится очевидным, чтов 256 столбцовСТОЛБЕЦ()excelhelprus а строки столбцами, использовать команду можете найти множество так же, только если Вы хотите
- скучно по сравнению таблицу, чтобы ВыEnterВ этом примере мы диапазоне. захочет тратить своёОКCtrl+C эффективнее было бы не получится…почитайте в справке.: Это 1 и
- надо выделить ее,Paste Special готовых макросов в для строк. поместить значение ячейки с исходными данными. могли сосредоточить свое, то она работать будем преобразовывать таблицу,
- Это превратит Вашу таблицу драгоценное время на.. развернуть её дляjavvvaRustem тот же способ)
скопировать в буфер(Специальная вставка). интернете. Но еслиА теперь позвольте напомнитьB1Но не расстраивайтесь, это внимание на процессе не будет. в которой перечислены в нечто слегка то, чтобы преобразовыватьЗамечание:
нажмите кнопку более удобного анализа: а по мне: Про N1=14 просто код - обмена (проще правойВ этом случае откроется Вы работаете с всю формулу, которуюв ячейку вовсе не проблема. транспонирования, а неГотово! Наши данные транспонированы, штаты США с пугающее (смотри рисунок одни и теЕсли Вы транспонируетеCo
или построения диаграммы так для тогоSerge_007 это отображение функции кнопкой мыши на диалоговое окно
- большими таблицами, помните, мы использовали дляA8 Вот как можно на данных в 7 столбцов превратились данными о населении: ниже), но не же строки и ячейки, содержащие формулы,py по имеющимся данным. чтобы сделать диаграмму: Извиняюсь, не тот траспонирования в макросе. выделенной таблице щелкнутьPaste Special что метод преобразования строк в
- , то записываете в легко восстановить исходное таблице. Мы будем в 6 столбцов,Во-первых, необходимо определить точное тревожьтесь, осталось всего столбцы по нескольку убедитесь, что во(Копировать) на вкладкеВ этой статье Вы не обязательно переделывать файл выложил Почему не подходит и выбрать Копировать).(Специальная вставка). ОтметьтеTranspose
Как транспонировать таблицу, ссылающуюся на исходные данные
столбцы на листе ячейку форматирование: использовать немного замысловатую что и требовалось количество строк и 2 действия, и раз. Согласны? всех этих ячейкахHome найдёте несколько способов всю таблицу. хотяПравильный здесь — совсем не Таблица выделится пунктирной необходимые параметры, ав VBA ограничен Excel:
- A8Скопируйте исходную таблицу. комбинацию функций получить. столбцов в таблице.
- Вы получите желаемыйДавайте посмотрим, как можно использованы абсолютные ссылки
- (Главная) в разделе преобразовать строки в я могу ошибатьсяbalda понятно мигающей границей. Потом главное – не 65536 элементами. Если=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))следующую формулу:
Выделите транспонированную таблицу.
- INDIRECTГлавное преимущество функции В нашем примере результат. преобразовать строки в (со знаком $).Clipboard столбцы (или столбцы (не так часто: Друзья! Всем огромноеexcelhelprus выделяете ячейку, в
- забудьте поставить галочку Ваш массив выйдет=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1)))=INDIRECT(«B1»)Кликните по выделенной области(ДВССЫЛ) иTRANSPOSE это 7 столбцовСкопируйте таблицу с символами столбцы в Excel Это необходимо, поскольку
(Буфер обмена). в строки) в приходилось делать диаграммы). спасибо за быстрые: которую хотите вставить напротив опции за рамки этого
- Как видите, в функции=ДВССЫЛ(«B1») правой кнопкой мышиADDRESS(ТРАНСП): преобразованная таблица и 6 строк, « при помощи уже формулы также будутВыделите первую ячейку диапазона, Excel. Эти решения
- Фиалочка ответы!! Получилось!!!200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub В_Столбец_2() преобразованную таблицу, правойTranspose ограничения, то всеADDRESSНо реальная сила функции и в разделе(АДРЕС). сохраняет связь с
включая заголовки. Запомнимххх знакомой нам техники транспонированы, а ссылки в который Вы работают во всех: Спасибо большое каждому,ФиалочкаSheets(«Лист1»).Range(«A1:AE5»).Copy кнопкой щелкаете по(Транспонировать). лишние данные будут(АДРЕС) мы задаём
Транспонируем данные в Excel при помощи формул
INDIRECTPaste OptionsПредположим, у Вас есть источником данных, т.е. эти цифры и» и выполните команду
Преобразуем в Excel строки в столбцы при помощи функции TRANSPOSE (ТРАНСП)
Копировать на ячейки автоматически собираетесь скопировать транспонированные версиях Excel (2013, кто ответил. Ваши: Здравствуйте.Sheets(«Лист2»).Range(«A1»).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, ней, выбираете колмандуПодсказка: молча потеряны. сначала столбец, а(ДВССЫЛ) в том,(Параметры вставки) выберите данные в 4 какие бы изменения приступим к преобразованию
Paste Special> обновлены. данные. 2010, 2007 и
советы и ужПодскажите, пожалуйста, мне, SkipBlanks:= _ Специальная вставка, вЕсли Вы копируетеУрок подготовлен для Вас затем строку, и что она можетFormatting столбцах (
- в исходных данных строк в столбцы.(Специальная вставка) >ВставитьКак Вы только что
- Замечание: более ранних), охватывают тем более таблица компьютерному чайнику, элементарнуюFalse, Transpose:=True появившемся диалоговом окне ячейки с относительными командой сайта office-guru.ru в этом кроется превратить любую текстовую(Форматирование).A Вы ни вносили,Посчитайте ячейки, которые ВыTranspose
- , так, чтобы транспонированные увидели, опцияВажно выбрать ячейку, множество возможных сценариев,
- оччень помогли. (для вас, знатоков)End Sub установите флажок Транспонировать, ссылками без ячеек,Источник: https://www.ablebits.com/office-addins-blog/2014/03/06/transpose-excel-rows-columns/ весь фокус! Помните, строку в ссылку,Подводя итог, метод с
–
транспонированная таблица также
хотите транспонировать. В(Транспонировать), чтобы преобразовать данные ссылались наTranspose которая находится за объясняют наиболее типичные
- P. S. Честно, вещь: как сделатьexcelhelprus
затем ОК или на которые идутПеревел: Антон Андронов что функция в том числе функциейD будет изменяться. нашем случае это столбцы в строки
исходные данные. Главное(Транспонировать) в Excel пределами диапазона исходных ошибки и показывают очень боялась, что
Преимущества функции TRANSPOSE (ТРАНСП)
так, чтобы данные,: это конкретно для Enter на клавиатуре. ссылки, то ссылкиАвтор: Антон АндроновADDRESS строку, которую ВыINDIRECT) и в 5Форматирование начальной таблицы не
Недостатки функции TRANSPOSE (ТРАНСП)
- 7 столбцов и (или строки в преимущество такого подхода позволяет преобразовать строки данных, чтобы скопированная
- хорошие примеры использования засмеют за такие записанные в 4 вашего файла -Удачи!
- станут ошибочными. ЧтобыМногие поклонники Excel рано(АДРЕС) понимает первое создаёте при помощи(ДВССЫЛ) кажется более строках ( сохранится в преобразованной 6 строк. столбцы). в том, что в столбцы (или область и область в Excel формул глупые вопросы, а,
столбцах, стали данным, вставляет ваш календарикCkaym избежать этого, копируйте или поздно сталкиваются число как номер других функций и сложным решением задачи1 таблице, как это
Преобразовываем строку в столбец или столбец в строку при помощи функции INDIRECT (ДВССЫЛ)
Выберите пустой диапазон ячеек.Снова откройте диалоговое окно при изменении данных столбцы в строки) вставки не пересеклись. для транспонирования. оказывается, народ здесь записанными в 4 на лист 2: Всем доброго времени и вставляйте только с этой задачей.
строки, а второе значений других ячеек. по преобразованию строк– видно на рисунке Так как функцияFind and Replace в исходной таблице, буквально за несколько Например, если исходныеПреобразовываем строки в столбцы вот какой терпимый строки (что необходимо начиная с ячейки
суток. значения, когда выполняете Данные на листе число как номер Именно это мы в столбцы, чем5 выше.TRANSPOSE(Найти и заменить), транспонированная таблица обновится секунд. Уверен, что
- данные состоят из методом Копировать > и помогающий. мне для построения А1Как преобразовать несколько преобразование строк в могут быть выстроены столбца. Другими словами,
и собираемся сейчас
с функцией
):Если какие-то ячейки начальной(ТРАНСП) меняет вертикальное чтобы заменить все и отразит эти этот способ очень 4 столбцов и ВставитьRuMaSs
диаграммы). Данных более
Ckaym
строк с Листа1 столбцы или наоборот. вертикально или горизонтально, функция сделать. Если ВыTRANSPOSEВведите формулу, показанную ниже,
- таблицы были пусты, на горизонтальное измерение символы « изменения. полезен, когда требуется 10 строк, тоТранспонируем таблицу при помощи:
500 в каждом: Да все спасибо в столбец на Для этого отметьте но временами ВыADDRESS поймёте это, то(ТРАНСП).
в верхнюю левую то в транспонированных диапазона, значит нужнохххСкопируйте строки, которые Вы
- транспонировать таблицу один
- транспонированная таблица будет
- копирования / вставкиSerge 007 столбце, так что получилось Лист2. опцию будете замечать, что
(АДРЕС) берёт номер всё остальное поймётеПреимущества: ячейку конечного диапазона ячейках там будут выбрать такое количество» на « хотите преобразовать в раз. Пользуясь этим состоять из 10
ссылок на исходные? спасибо. помогла вручную переписывать долго.200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub В_Столбец()200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub В_Столбец()Values та или иная столбца, возвращённый функцией с лёгкостьюВы можете спокойно (допустим, это будет нули.
строк и столбцов,= столбцы (или столбцы, методом, Вы сохраняете столбцов и 4 данные информация.P. S. Пользуюсьm_ = Format(Date,
For h =(Значения) в разделе таблица выглядела быCOLUMNДумаю, Вы помните, что редактировать любую ячейку ячейкаВы не сможете редактировать сколько столбцов и«, т.е. восстановить ссылки которые хотите преобразовать исходные данные, и строк.Транспонируем данные в ExcelАндрей
Функции INDIRECT (ДВССЫЛ) и ADDRESS (АДРЕС) – синтаксис и логика
экселем в Office «M») 1 To 31Paste лучше, если столбцы(СТОЛБЕЦ), и превращает в формуле мы (ячейки) в транспонированнойA7 ячейки в преобразованной строк соответственно имеет на исходные ячейки. в строки). это ещё один
Вставьте скопированные данные при
при помощи формул
: Как вариант: как 2003, такSheets(«Табель»).Range(«A1:AE5»).Copy ‘(Вставить) диалогового окна и строки поменять его в номер использовали ещё 3 таблице, при этом), и нажмите таблице, поскольку функция Ваша исходная таблица. Готово!Выберите пустую ячейку на аргумент в его помощи командыПредположим, Вы создали таблицу
перегоняешь столбец в и 2007 (вдругSheets(m_ + 2).Range(«A1»).PasteSpecialCells(h, 33) =Paste Special местами. строки, затем берёт функции – она будет оставатьсяEnter
TRANSPOSE В нашем примереБыстрое, спокойное и элегантное этом же или пользу.Paste Special на листе Excel, строку (где сия в каком-либо пакете Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= Cells(1, h)(Специальная вставка).Представляем Вашему вниманию приём,
номер строки иADDRESS связанной с таблицей-источником:(ТРАНСП) чрезвычайно зависима мы выбираем 6 решение, не так другом листе.Однако, вышеописанный метод имеет(Специальная вставка) > похожую на ту, кнопка — не нужной функции нет). _Cells(h, 34) =Ваши данные будут точно при помощи которого превращает его в
(АДРЕС), и будет автоматически=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1))) от источника данных. столбцов и 7 ли? Единственный недостаток
Откройте диалоговое окно
два существенных недостатка,
Transpose что показана в помню, но точноЗаранее спасибо всем,False, Transpose:=True Cells(2, h) и легко транспонированы Вы можете изменить номер столбца, тоCOLUMN обновляться каждый раз,=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1);СТРОКА(A1))) Если Вы сделаете строк. этого подхода состоитPaste Special которые не позволяют(Транспонировать). Вы можете верхней части рисунка, она была. сам кто поможет советом.End SubCells(h, 35) = и выстроены в компоновку данных в есть меняет местами(СТОЛБЕЦ) и
когда Вы будетеЕсли данные начинаются не попытку изменить какую-либоНажмите в том, что
- (Специальная вставка), как считать его идеальным открыть диалоговое окно расположенного ниже. Названия пользовался) , потомVlanibВопрос закрыт
- Cells(3, h) новом порядке. В Excel в соответствии строки и столбцы.
- ROW вносить изменения в в строке с ячейку, то получитеF2 в процессе выполнения
было показано в
Транспонируем данные при помощи макроса VBA
решением для транспонированияPaste Special стран распределены по сохраняешь как текст: Выделяете диапазон сbaldaCells(h, 36) = обратном направлении этот с Вашими потребностями.Теперь, когда Вы знаете,(СТРОКА). исходные данные. номером сообщение с предупреждением:, чтобы перейти в форматирование исходной таблицы предыдущем примере, и данных в Excel.(Специальная вставка) тремя столбцам, но список с разделителем запятая
данными, Ctrl+C, выделить: Друзья! Помогите прообразовать
Cells(4, h)
приём работает так
Давайте вместе проделаем
office-guru.ru
Преобразуем строки в столбцы и обратно в Microsoft Excel
что делает каждаяФункцияНедостатки:1You cannot change part режим редактирования. будет потеряно, и нажмитеДанный инструмент не доступен способами: стран может оказаться :) ячейку куда записать
столбец в строкуCells(h, 37) = же хорошо. следующие шаги и функция, давайте сведёмADDRESSНа самом деле,и не в of an arrayЗапишите функцию Вам придётся восстанавливать
Весь секрет в специальной вставке
- Paste Link при копировании /На вкладке очень длинным, поэтомуперегнать столбец в измененные данные, правой (только при помощи Cells(5, h)Надеюсь, этот способ будет
- расположим данные в воедино логику всей(АДРЕС) используется для я вижу только столбце(Нельзя изменять частьTRANSP его вручную (далее(Вставить связь) в вставке полнофункциональной таблицы
- Home нам будет гораздо строку и наоборот: клавишей меню - функций) в обратномNext h полезен. Хорошего Вам таблице в виде
- формулы: того, чтобы получить один – форматированиеA массива).OSE в этом уроке нижнем левом углу Excel в отличие(Главная) в разделе
удобнее преобразовать столбцы Копировать столбец, контекстное специальная вставка - порядке!End Sub дня! двух горизонтальных строк.функции адрес ячейки из исходных данных не, то потребуется немногоИ в завершение, какой(ТРАНСП) и укажите я покажу быстрый диалогового окна. от простого диапазона.Clipboard в строки, чтобы меню — «Специальная опция транспонировать внизу.
Наслаждайтесь результатом
Как на прикреплённомexcelhelprusУрок подготовлен для ВасПервым делом, выделите таблицуCOLUMN номеров строки и сохраняется. Впрочем, Вы
более сложная формула: бы хорошей и в скобках диапазон
способ сделать это).Результат будет примерно таким:
В этом случае
(Буфер обмена), нажмите
таблица уместилась на
office-guru.ru
Как в экселе данные столбца перенести в строку
вставка», ставим галкуSerge 007 файле!: В Excel есть командой сайта office-guru.ru с данными, которые
(СТОЛБЕЦ) и столбца, заданных Вами. можете легко восстановить=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1))) простой ни была данных, который нужноЕсли Вы не ищитеВыделите новые данные и Вам придётся скопировать
маленькую чёрную стрелку экране. «Транспонировать», ок. Это: Здравствуйте.Спасибо!!! Очень надо!!! опция при вставке.Источник: https://www.ablebits.com/office-addins-blog/2012/04/10/convert-rows-columns-excel/ Вам нужно повернуть.ROW Запомните: сначала строка, его, как это=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1))) функция транспонировать. В нашем лёгких путей, то откройте диалоговое окно таблицу без заголовков, под кнопкойВыделите строки и столбцы, для 2007.ФиалочкаEXcel 2007 Называется транспонировать. Если
Перевел: Антон Андронов
Как преобразовать строку в столбец на другом листе (Макросы/Sub)
Кликните правой кнопкой(СТРОКА) возвращают номера потом столбец. Например,
показано выше.ГдеTRANSPOSE случае это будет
можете использовать формулы
Excel – либо преобразовать еёPaste
которые требуется поменятьВариант №2. Сохраняешь
, можно воспользоваться способомSerge_007
нужно в макросеАвтор: Антон Андронов
мыши и в столбца и строки
АДРЕС(8;1)Теперь Вы понимаете, как
A1
(ТРАНСП), ей не
выглядеть так: для преобразования столбцовFind and Replace в диапазон, т.е.(Вставить) и выберите местами. Если Вы как текст, а предложенным: См. вложение — используйте ее
Ирина появившемся контекстном меню соответственно;
возвратит работает функция
– это левая
хватает гибкости, и=TRANSPOSE($A$1:$G$6) в строки и(Найти и заменить). кликнуть правой кнопкой команду
хотите развернуть всю потом по текстовому
Vlanibbalda с макрорекордером. Будет: выделить, скопировать, встать нажмите командуфункция$A$8INDIRECT верхняя ячейка таблицы-источника.
поэтому она становится=ТРАНСП($A$1:$G$6) наоборот.
Вы также можете
мыши по любойTranspose
таблицу целиком, т.е.
файлу автозаменой перенос
, или, если нет: большое спасибо за явно быстрее и на строку, правойCopyADDRESS.
(ДВССЫЛ), и, возможно, Также обратите внимание не лучшим решением
Замечание:
Как можно понять из нажать сочетание
ячейке таблицы и
(Транспонировать). все ячейки с строки и ";"
желания каждый раз
быстрый ответ! Но
удобнее чем в
excelworld.ru
преобразовать столбец в строку при помощи функций в об. пор.
кнопкой мыши -(Копировать).(АДРЕС) меняет местамиФункция захотите более подробно на использование абсолютных
во многих ситуациях.Всегда используйте абсолютные
её названия, функция
Ctrl+H
в контекстном менюКликните правой кнопкой мыши
данными на листе, меняешь на «,» вручную копировать исходный мне нужно в вашем коде)
специальная вставка -Далее выберите позицию, где
строку и столбец;COLUMN разобраться, что на и относительных ссылок.Этот метод очень похож ссылки для работы
TRANSPOSE, чтобы сразу попасть выбрать
по ячейке, в нажмите :) диапазон и жать
обратном порядкеexcelhelprus
транспортировать должна располагаться новаяфункция
(СТОЛБЕЦ) возвращает номер
самом деле делаетСкопируйте формулу на весь на предыдущий. Его с функцией
excelworld.ru
Данные из столбцов в строки.
(ТРАНСП) специально разработана на вкладку
Table которую нужно вставитьCtrl+HomeЗЫ. Пункты меню кнопки, то можноRustem:Татьяна таблица. Кликните правойINDIRECT столбца из заданной эта формула и диапазон, в который главное преимущество перед
TRANSPOSE для транспонирования данныхReplace(Таблица) > данные, и в, а затем
— вольный перевод, воспользоваться формулами (см.
: Так?200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sheets(«Лист1»).Range(«E2:E4»).Copy: данные столбца выделить, кнопкой мыши по(ДВССЫЛ) выводит перевернутые ссылки на ячейку. почему мы использовали Вы собираетесь поместить
функцией(ТРАНСП).
в Excel. Если(Заменить).Convert to Range контекстном меню выберитеCtrl+Shift+End так как офис вложение).baldaSheets(«Лист2»).Range(«H8»).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, скопировать, поставить курсор левой верхней ячейке
данные в другую Например, комбинацию с функцией транспонированные данные, протянув
TRANSPOSEНажмите у Вас нетЗамените все символы равно(Преобразовать в диапазон).Paste Special. аглицкий, а ответ
А вот тут: Вроде так. Но SkipBlanks:= _ к началу строки, этой области и ячейку на листеСТОЛБЕЦ(A3)ADDRESS за маркер автозаполнения
(ТРАНСП) состоит вCtrl+Shift+Enter большого опыта работы «Более серьёзное ограничение этого(Специальная вставка) >
Скопируйте выделенные ячейки. Для с аглицкими буквами у Вас возникнет я не понялFalse, Transpose:=True правой кнопкой мышки в появившемся меню
Excel.возвратит значение(АДРЕС). Если технические в правом нижнем том, что он
CyberForum.ru
Как в экселе текстовые данные из нескольких ячеек одного столбца преобразовать в одну строку, с разделителем — запятой?
. с формулами в
= метода состоит вTranspose этого на выбор: у меня не сложность с 2003 (извиняюсь за невежество)Ckaym вызвать контекстное меню
выберите командуСовсем не страшно, правда?1 детали Вас не углу выделенной ячейки оставляет возможность изменятьЗамечание:
Excel, и в» на « том, что он(Транспонировать).кликните по ним правой принимался :( Excel.
про чём здесь: Спасибо такой вариант — специальная вставкаTransposeНе составит труда написать, поскольку столбец интересуют, следующий раздел
(или диапазона ячеек).
In this guide, we’re going to show you how to split text in Excel by a delimiter.
Download Workbook
We have a sample data which contains concatenated values separated by “|” characters. It is important that the data includes a specific delimiter character between each chunk of data to make splitting text easier.
Text to Columns feature for splitting text
When splitting text in Excel, the Text to Columns is one of the most common methods. You can use the Text to Columns feature with all versions of Excel. This feature can split text by a specific character count or delimiter.
- Start with selecting your data. You can use more than one cell in a column.
- Click Data > Text to Columns in the Ribbon.
- On the first step of the wizard, you have 2 options to choose from — these are slicing methods. Since our data in this example is split by delimiters, our choice is going to be Delimited.
- Click Next to continue
- Select the delimiters suitable to your data or choose a character length and click Next.
- Choose corresponding data types for the columns and the destination cell. Please note that if the destination cell is the same cell as where your data is, the original data will be overwritten.
- Click Finish to see the outcome.
Using formulas to split text
Excel has a variety of text formulas that you can use to locate delimiters and parse data. When using formulas to do so, Excel automatically updates the parsed values when the source is updated.
The formula used in this example uses Microsoft 365’s dynamic array feature, which allows you to populate multiple cells without using array formulas. If you can see the SEQUENCE formula, you can use this method.
Syntax
=TRIM(MID(SUBSTITUTE( text, separator, REPT( “ “, LEN( text ))),(SEQUENCE( 1, column count ) — 1 ) * LEN( text ) + 1,LEN( text )))
How it works
The formula replaces each separator character with space characters first. (see SUBSTITUTE) The number of space characters will be equal to the original string’s character count, which is enough number of spaces to separate each string block (see REPT and LEN).
The SEQUENCE function generates an array of numbers starting with 1, up to the number of maximum columns. Multiplying these sequential numbers with the length of the original string returns character numbers indicating the start of each block.
This approach uses the MID function to parse each string block with given start character number and the number of characters to return. Since the separators are replaced with space characters, each parsed block includes these spaces around the actual string. The TRIM function then removes these spaces.
Flash Fill
The Flash Fill is an Excel tool which can detect the pattern when entering data. A common example is to separate or merge first name and last names. Let’s say column A contains the first name — last name combinations. If you type in the corresponding first name in the same row for column B, Excel shows you a preview for the rest of the column.
Please note that the Flash Fill is available for Excel 2013 and newer versions only.
You can see the same behavior with strings using delimiters to separate data. Just select a cell in the adjacent column and start typing. Occasionally Excel will display a preview. If not, press Ctrl + E like below to split your text.
Power Query
Power Query is a powerful feature, not only for splitting text, but for data management in general. Power Query comes with its own text splitting tool which allows you to split text in multiple ways, like by delimiters, number of characters, or case of letters.
If you are using Excel 2016 or newer — including Microsoft 365 — you can find Power Query options under the Data tab’s Get & Transform section. Excel 2010 and 2013 users should download and install the Power Query as an add-in.
- Select the cells containing the text.
- Click Data > From Sheet. If the data is not in an Excel Table, Excel converts it into an Excel Table first.
- Once the Power Query window is open, find the Split Column under the Transform tab and click to see the options.
- Select the approach that fits your data layout. The data in our example is using By Delimiter since the data is separated by “|”.
- Power Query will show the delimiter character. If you are not seeing the expected delimiter, choose from the list or enter it yourself.
- Click OK to split text.
- If your data includes headers in its first row, like our example does, click Transform > Use First Row as Headers to keep them as headers.
- One you satisfied with the result, click the Home > Close & Load button to move the split data into your workbook.
VBA
VBA is the last text splitting option we want to show in this article. You can use VBA in two ways to split text:
- By calling the Text to Columns feature using VBA,
- Using VBA’s Split function to create array of sub-strings and using a loop to distribute the sub-strings into adjacent cells in the same row.
Text to Columns by VBA
The following code can split data from selected cells into the adjacent columns. Note that each supported delimiter is listed as an argument which you can enable or disable by giving them either True or False. Briefly, True means that you want to set that argument as a delimiter and False means ignore that character.
An easy way to generate a VBA code to split text is to record a macro. Start a recording section using the Record Macro button in the Developer tab, and use the Text to Columns feature. Once the recording is stopped, Excel will save the code for what you did during recording.
The code:
Sub VBATextToColumns_Multiple()
Dim MyRange As Range
Set MyRange = Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
MyRange.TextToColumns _
Destination:=MyRange(1, 1).Offset(, 1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
SemiColon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=»|»
End Sub
Split Function
Split function can be useful if you want to keep the split blocks in an array. You can only use this method for splitting because of the single delimiter constraint. The following code loops through each cell in a selected column, splits and stores text by the delimiter “|”, and uses another loop to populate the values in the array on cells. The final EntireColumn.AutoFit command adjusts the column widths.
The code:
Sub SplitText()
Dim StringArray() As String, Cell As Range, i As Integer
For Each Cell In Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
StringArray = Split(Cell, «|») ‘Change the delimiter with a character suits your data
For i = 0 To UBound(StringArray)
Cell.Offset(, i + 1) = StringArray(i)
Cell.Offset(, i + 1).EntireColumn.AutoFit ‘This is for column width and optional.
Next i
Next
End Sub