антипод функции "=СЦЕПИТЬ" в Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
kostero
Сообщения: 14
Зарегистрирован: 24 янв 2007, 10:03

24 янв 2007, 11:33

Здравствуйте.

Вопрос. Существует ли в Excel антипод функции "=СЦЕПИТЬ"

Например в одной ячейке несколько слов (сочетание слов) и необходимо их раскидать по одному в каждой ячейке в одной строке.
Diment
Сообщения: 135
Зарегистрирован: 04 сен 2006, 11:39
Откуда: Кисловодск

24 янв 2007, 13:36

стандартной функции в чистом виде нет
из этой ситуации можно выйти с помощью формул:
для примера взята фраза из 3-х слов
для 1-го слова
=ЛЕВСИМВ(a1;ПОИСК(" ";a1;1))
для 2-го слова
=СЖПРОБЕЛЫ(ПСТР(a1;ПОИСК(" ";a1;1)+1;ПОИСК(" ";a1;ПОИСК(" ";a1;1)+1)-ПОИСК(" ";a1;1)))
и для 3-го слова
=+СЖПРОБЕЛЫ(ПСТР(a1;ПОИСК(" ";a1;ПОИСК(" ";a1;1)+1);ДЛСТР(a1)-ПОИСК(" ";a1;ПОИСК(" ";a1;1))))
естественно для большего количества слов формулы гораздо сложнее, и имеют ограничения, т.к. общая длина формулы не может превышать 1024 символа, то и не представляется возможным разбить вразу более чем из 8-9 слов.
выходом будет только написание собственной пользовательской функции
Genyaa
Сообщения: 307
Зарегистрирован: 11 окт 2006, 17:24
Откуда: Moscow
Контактная информация:

24 янв 2007, 13:38

В виде функции для использования в ячейках - то встроенной нет. Но можно сделать пользовательскую из VBA функции Split.

Кроме того, можно воспользоваться интрументом Меню-Данные-Текст по столбцам, если такое разделение нужно делать однажды или редко.
Всякое решение плодит новые проблемы.
Avsha
Сообщения: 664
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

24 янв 2007, 14:28

Но можно сделать пользовательскую из Vba
можете посмотреть одну из таких функций в теме...
Перенос текста из кавычек в другую колонку
http://forum.developing.ru/showthread.php?t=5239
kostero
Сообщения: 14
Зарегистрирован: 24 янв 2007, 10:03

24 янв 2007, 14:38

Спасибо за помощь.
Uvek
Сообщения: 1
Зарегистрирован: 15 мар 2016, 15:58

15 мар 2016, 16:09

Прошу помочь с формулой для 4-го, 5-го и 6-го слова.
Для 1,2,3 есть пример.
антипод функции "=СЦЕПИТЬ" в Excel
стандартной функции в чистом виде нет
из этой ситуации можно выйти с помощью формул:
для примера взята фраза из 3-х слов
для 1-го слова
=ЛЕВСИМВ(a1;ПОИСК(" ";a1;1))
для 2-го слова
=СЖПРОБЕЛЫ(ПСТР(a1;ПОИСК(" ";a1;1)+1;ПОИСК(" ";a1;ПОИСК(" ";a1;1)+1)-ПОИСК(" ";a1;1)))
и для 3-го слова
=+СЖПРОБЕЛЫ(ПСТР(a1;ПОИСК(" ";a1;ПОИСК(" ";a1;1)+1);ДЛСТР(a1)-ПОИСК(" ";a1;ПОИСК(" ";a1;1))))
С уважением!
Ответить