Страницы: 1
RSS
Разделение текста по разделителю на строки
 

Здравствуйте, предыстория: по работе приходится копировать текст из pdf файла и вставлять текст в excel, чтобы в дальнейшем формулами выбирать/объединять/подставлять в отчеты. До не давнего момента этот текст при вставке в столбец А:A не содержал символа переноса строки (символ 10) и я корректно определял формулами начало одного блока текста и конец другого, поскольку при копировании всё вставлялось в отдельные строки. Но что то пошло не так и блоки начали объединяться в одной ячейке, что сильно затруднило обнаружение начала и конец каждого из блоков.

Подскажите как реализовать возможность разделения текста из таких вот объединённых ячеек, чтобы они как прежде, вставлялись одна под другой.

Во вложении для примера текст русской сказки  :) .

В ячейке A6 и A11 текст содержит символ переноса строки. В столбце B подсчитывается количество таких символов. В столбцах C:AA текст содержащий символ переноса строки разделяется по разделителю.

Задача формулами получить в столбце AB номер строки, той ячейки, которая содержит символ переноса строки, и повторить такой номер, столько раз, сколько символов переноса строки в ячейки (в примере номер строки ячейки A6 повторился 4 раза, поскольку содержит 3 разделителя + 1 повторение для конца ячейки). А затем соответственно в столбце AC проставить номер столбца таблицы, чтобы формулой получить разделенный текст (в примере для ячейки A6 проставлено 1,2,3,4 для того чтобы получить конкретную часть текста).

Ну или если возможно это все сделать без таких заморочек с доп. столбцами и без макросов, то буду только рад.

Изменено: Максим - 23.03.2024 17:28:07
 
Можно в pq, если устроит.
 
Не уверен, что верно понял. Я выделил объединённую ячейку и кликнул по кнопке "переносить текст" в меню (она была нажата).
Ячейка стала обычной.
А слово "текст" можно удалить заменой.
Это то, что Вы хотели?
 
Artem_1990, надстройки и макросы запрещены к применению на моей работе, поэтому приоритет на формулы пожалуйста... :oops:  
 
DAB, слова текст1, текст2, текст3 это так, для примера, может быть любой другой текст в ячейк. Задача грубо говоря вместо 36 строк текста (с символами переноса строки), получить 44 строки текста (без символов переноса) (разница в 8 строк из за заполнения этих строк текстом из ячеек содержащих разделитель).

p.s. в столбце А - исходные данные, в столбце АD - желаемый результат
Изменено: Максим - 23.03.2024 18:20:43
 
Цитата
Максим написал: ...надстройки и макросы запрещены к применению на моей работе...
PQ давно не надстройка, а встроенная функциональность Excel 2016+
Изменено: ZVI - 23.03.2024 18:48:47
 
ZVI, я просто на 2013 версии сижу, либо и вовсе на 2007
 
Цитата
Максим написал:
Ну или если возможно это все сделать без таких заморочек с доп. столбцами и без макросов, то буду только рад...
...я просто на 2013 версии сижу, либо и вовсе на 2007
ну что вам сказать... Балет уехал на гастроли, если вы понимаете о чем я.
Пришелец-прораб.
 
AlienSx, Да мне хоть по аналогии с тем как я это сделал в примере. Лишь бы с повторением в столбце AB номера строки содержащий разделитель помогли.
 
Есть бесплатная Excel для сети, можно попробовать в ней обрабатывать, то что вам нужно (ссылка здесь):
Код
=REDUCE(;A2:A36;LAMBDA(s;c;ВСТОЛБИК(s;ТЕКСТРАЗД(c;;СИМВОЛ(10)))))
 
Максим, на работе часто приходится переносить текст из Word в Excel, и там наоборот перенос строки трактуется как новая строка.
Попробуйте сначала скопированное вставить в Word, а уже потом уже скопировать и перенести в Excel.
 
:) Сам решил, всем спасибо.
В одну из ячеек столбца А добавляем перенос строки, и он расширит список в столбце AC
 
Цитата
Максим написал:
на 2013 версии сижу, либо и вовсе на 2007
Понимаю. Хорошо что решение найдено.

На всякий случай насчет макросов - на время сессии Excel  можно временно вписать код в модуль xlsx и выполнить, а при закрытии не сохранять. Код можно при желании экспортировать из VBE в текстовый файл *.BAS или *.TXT, а в следующий раз временно импортировать снова в XLSX. Никаких Excel-файлов с макросами нет. Все временно создается и работает в оперативной памяти. Это, надеюсь, не нарушает корпоративных правил и работает, если при установке Excel установлен и VBA (обычно установлен).
Изменено: ZVI - 24.03.2024 03:47:37
Страницы: 1
Наверх