Считаем что исходный текст записан в ячейку A3, а разбиение начинается с ячейки B3
Иногда требуется разбить текст на столбцы пробелами с возможностью изменять исходный текст.
Нам потребуется формула, которая извлекает один фрагмент текста без использования дополнительных ячеек. Такая формула подробно описана здесь, это формула для разделения текста на столбцы по запятой (","). Заменим разделитель и исходные ячейки - получим формулу для разделения текста по пробелу и запишем в ячейку B3:
=ЕСЛИОШИБКА( ПСТР( " "&$A3&" "; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ( " "&$A3&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3) + 1); 1)+1; НАЙТИ(СИМВОЛ(3); ПОДСТАВИТЬ( " "&$A3&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3)+2);1) - НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ( " "&$A3&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3) +1); 1) -1) ; "")
запишем тестовые строки: в ячейку A5 занесём формулу (текст с формулой невозможно разобрать инструментом "Текст по столбцам"):
="Число Пи = "&ПИ()
в других ячейках запишем текст
Растянем формулу на всю строку и затем растянем строку на весь диапазон.
Вот результат:
Если в тексте встретится несколько пробелов подряд, то в таблице будут пустые клеточки по одной на каждый дополнительный пробел, но если это недопустимо можно удалить множественные пробелы и формула примет более сложный вид:
=ЕСЛИОШИБКА( ПСТР( " "&СЖПРОБЕЛЫ( $A3 )&" "; НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ( " "&СЖПРОБЕЛЫ( $A3 )&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3) + 1); 1)+1; НАЙТИ(СИМВОЛ(3); ПОДСТАВИТЬ( " "&СЖПРОБЕЛЫ( $A3 )&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3)+2);1) - НАЙТИ( СИМВОЛ(3); ПОДСТАВИТЬ( " "&СЖПРОБЕЛЫ( $A3 )&" "; " "; СИМВОЛ(3); СТОЛБЕЦ() - СТОЛБЕЦ($B3) +1); 1) -1); "")
Если Вы скопируете текст формулы в свою таблицу с этой страницы сайта Большой Вопрос, не забудьте изменить адреса ячеек на свои, это можно сделать или руками или использовать интернет сервис "Замена ячеек в формуле EXCEL"