Формула Excel: извлечение нескольких строк из ячейки -

Общая формула

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))), (N-1)*LEN(A1)+1, LEN(A1)))

Резюме

Чтобы извлечь строки из многострочной ячейки, вы можете использовать умную (и устрашающую) формулу, которая объединяет 5 функций Excel: ОБРЕЗАТЬ, СРЕДНЕЕ, ПОДСТАВИТЬ, ПОВТОР и LEN. В показанном примере формула в D5:

=TRIM(MID(SUBSTITUTE($C5,CHAR(10),REPT(" ",LEN($C5))), (D$4-1)*LEN($C5)+1, LEN($C5)))

Объяснение

По сути, эта формула ищет разделитель строк («разделитель») и заменяет его большим количеством пробелов с помощью функций ПОДСТАВИТЬ и ПОВТОР.

Примечание: в более старых версиях Excel на Mac используйте CHAR (13) вместо CHAR (10). Функция CHAR возвращает символ на основе его числового кода.

Количество пробелов, используемых для замены разделителя строк, зависит от общей длины текста в ячейке. Затем формула использует функцию MID для извлечения нужной строки. Отправная точка прорабатывается с помощью:

(N-1)*LEN(A1)+1 // start_num

Где «N» означает «n-я строка», которая берется из строки 4 со ссылкой на D $ 4.

Общее количество извлеченных символов равно длине полной текстовой строки:

LEN(A1) // num_chars

На этом этапе у нас есть «n-я строка», окруженная пробелами.

Наконец, функция TRIM отсекает все лишние пробелы и возвращает только текст строки.

Текст в столбцы

Не забывайте, что в Excel есть встроенная функция Text to Columns, которая может разделять текст в соответствии с выбранным вами разделителем, хотя это не динамическое решение, такое как формула. В Windows вы можете набрать Control + J, чтобы ввести эквивалент символа новой строки для разделителя «Другое». Вы также можете использовать Control + J для новой строки во время операций поиска и замены.

Я не знаю, как ввести символ новой строки в Mac Excel в качестве разделителя или в диалоговом окне поиска и замены. Если знаете как, оставьте, пожалуйста, комментарий ниже.

Хорошие ссылки

Эффективный способ извлечь n-е слово из строки (форум MrExcel)

Интересные статьи...