В прошлом уроке было рассмотрено как объединить текст из разных ячеек в одну. Рассмотрим обратную ситуацию, когда нужно разделить текст из одной ячейки, например разбить Фамилию, Имя и Отчество и поместить их в разные ячейки.
Первый способ
Первый способ заключается в использовании мастера разделения текста "Текст по столбцам", для вызова которого нужно выделить нужную ячейку, перейти в меню Данные и нажать соответствующую кнопку меню:
При вызове мастера разделения текста, появится окно, в котором на первом шаге нужно настроить формат исходных данных (с разделителями или фиксированной ширины):
На втором шаге установить ширину полей (если на первом шаге выбран формат "фиксированной ширины"):
или установить разделитель (в нашем случае - пробел), если на первом шаге выбран формат "с разделителями":
И, наконец, на третьем шаге, нужно установить формат результирующих данных и указать адрес ячейки, в которую нужно поместить данные:
После нажатия на кнопку "Готово", разделенный текст будет помещен в три ячейки, начиная с B1:
Второй способ
Вторым и более интересным способом является использование формул. Для начала найдем первое слово (фамилию), для этого нужно из исходной строки слева взять n-ое количество символов, при этом количество симолов неизвестно. Очевидно, что ФИО в исходной строке разделены пробелами. Найдем пробел встроке с помощью функции ПОИСК(), которая возвращает позицию первого вхождения искомого символа в указанной строке.
=ПОИСК(" ";A1;1) Первым аргументом здесь является символ пробела, обозначенный как " ", вторым аргументом адрес исходной ячейки А1, третьим аргументом является позиция, с которой нужно начинать поиск.
В строке выше позиция первого пробела 7, значит нужно из исходной строки взять слева на один символ меньше. Воспользуемся функцией ЛЕВСИМВ(), которая в качестве первого аргумента принимает текст (в ячейке А1), из которого слева нужно выбрать нужное количество знаков, в качестве второго аргумента принимает количество знаков, которое необходимо извлечь из строки "ПОИСК(" ");А1;1)-1":
Найдем теперь второе слово в строке, т.е. имя. Для этого, зная позицию первого пробела в строке (7), определим второе вхождение пробела в строку (после имени), Для этого также функцией ПОИСК будем искать пробел с позиции 7+1, в результате получим 12:
=ПОИСК(" ";A1;ПОИСК(" ";A1;1)+1)
Зная, что слово начинается с позиции первого вхождения пробела в строку + 1 символ , посчитаем количество символов во втором слове:
=ПОИСК(" ";A1;ПОИСК(" ";A1;1)+1) - ПОИСК(" ";A1;1)-1
Подставив эту формулу в функцию ЛЕВСИМВ(), получим второе слово из строки в ячейке А1:
Осталось определить из исходной строки Отчество. Воспользуемся функцией ПРАВСИМВ(), которая работает аналогично функции ЛЕВСИМВ(), только выбирает нужное количество знаков Справа в строке.
Чтобы определить нужное количество знаков, найдем второе вхождение пробела формулой, построенной ранее: ПОИСК(" ";A1;ПОИСК(" ";A1;1)+1). Получим значение 12.
Определим длину строки с помощью функции "=ДЛСТР(А1)". Получим значение 20. Очевидно, чтобы вычленить из строки отчество, нужно из 20 вычесть 12.
Подставим в функцию ПРАВСИМВ() необходимые аргументы:
В качестве первого аргумента ссялка на ячейку с текстом А1, в качестве второго ДЛСТР(А1) за вычетом позиции второго пробела в строке.
На этом все.
Если Вам интересен Excel, то подписывайтесь на этот канал, ставьте лайк, пишите комментарии, задавайте вопросы.