Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как выбрать из ячейки слово с определенным символом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как выбрать из ячейки слово с определенным символом (Формулы)
Как выбрать из ячейки слово с определенным символом
Александра Дата: Четверг, 26.12.2013, 18:58 | Сообщение № 1
Группа: Гости
У меня есть ячейка в котором идут данные:

"р.т. 80482-662009 e-mail: books33@mail.ru"

мне надо извлечь именно емейл из этакого типа записей.
Кол-во символов в ячейках всегда разное, емейл в произвольных местах.

Помогите с формулой.
 
Ответить
СообщениеУ меня есть ячейка в котором идут данные:

"р.т. 80482-662009 e-mail: books33@mail.ru"

мне надо извлечь именно емейл из этакого типа записей.
Кол-во символов в ячейках всегда разное, емейл в произвольных местах.

Помогите с формулой.

Автор - Александра
Дата добавления - 26.12.2013 в 18:58
jakim Дата: Четверг, 26.12.2013, 19:32 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Может так?
К сообщению приложен файл: Book1.xlsx (9.1 Kb)
 
Ответить
Сообщение
Может так?

Автор - jakim
Дата добавления - 26.12.2013 в 19:32
AndreTM Дата: Четверг, 26.12.2013, 20:10 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Можно ещё как-то так:
Код
{=ПСТР(A1;МАКС((ПСТР(ЛЕВБ(A1;ПОИСК("@";A1));СТРОКА($1:$999);1)=" ")*СТРОКА($1:$999))+1;ПОИСК(" ";A1;ПОИСК("@";A1))-МАКС((ПСТР(ЛЕВБ(A1;ПОИСК("@";A1));СТРОКА($1:$999);1)=" ")*СТРОКА($1:$999)))}

Если в тексте адрес всегда предваряется как "e-mail:", можно ещё проще:
Код
=ПСТР(A1;ПОИСК("e-mail: ";A1)+8;ПОИСК(" ";A1;ПОИСК("@";A1))-ПОИСК("e-mail: ";A1)-8)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Четверг, 26.12.2013, 20:21
 
Ответить
СообщениеМожно ещё как-то так:
Код
{=ПСТР(A1;МАКС((ПСТР(ЛЕВБ(A1;ПОИСК("@";A1));СТРОКА($1:$999);1)=" ")*СТРОКА($1:$999))+1;ПОИСК(" ";A1;ПОИСК("@";A1))-МАКС((ПСТР(ЛЕВБ(A1;ПОИСК("@";A1));СТРОКА($1:$999);1)=" ")*СТРОКА($1:$999)))}

Если в тексте адрес всегда предваряется как "e-mail:", можно ещё проще:
Код
=ПСТР(A1;ПОИСК("e-mail: ";A1)+8;ПОИСК(" ";A1;ПОИСК("@";A1))-ПОИСК("e-mail: ";A1)-8)

Автор - AndreTM
Дата добавления - 26.12.2013 в 20:10
KuklP Дата: Четверг, 26.12.2013, 20:31 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата Александра, 26.12.2013 в 18:58, в сообщении № 1
У меня есть ячейка в котором идут данные:
Это на каком языке? :D
Андрей, а если несколько емель в клетке? Точки в префиксе, пара точек в суффиксе. Мне кажется в любом случае надежней будет на регекспе сделать. И вообще, куда вы спешите? Оно надо? Пущай Лександра подсуетится да выложит пример со всеми возможными. Тогда и судить можно будет.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 26.12.2013, 20:32
 
Ответить
Сообщение
Цитата Александра, 26.12.2013 в 18:58, в сообщении № 1
У меня есть ячейка в котором идут данные:
Это на каком языке? :D
Андрей, а если несколько емель в клетке? Точки в префиксе, пара точек в суффиксе. Мне кажется в любом случае надежней будет на регекспе сделать. И вообще, куда вы спешите? Оно надо? Пущай Лександра подсуетится да выложит пример со всеми возможными. Тогда и судить можно будет.

Автор - KuklP
Дата добавления - 26.12.2013 в 20:31
AndreTM Дата: Четверг, 26.12.2013, 20:47 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
несколько емель в клетке
ТС заявила "извлечь именно емейл" - в единственном числе :)
Точки в префиксе, пара точек в суффиксе
Это о чём? У меня вроде ишшуца только пробелы и собаки...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
несколько емель в клетке
ТС заявила "извлечь именно емейл" - в единственном числе :)
Точки в префиксе, пара точек в суффиксе
Это о чём? У меня вроде ишшуца только пробелы и собаки...

Автор - AndreTM
Дата добавления - 26.12.2013 в 20:47
KuklP Дата: Четверг, 26.12.2013, 20:51 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А запятая после, и скобка перед(да и после тоже)? Море вариантов.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА запятая после, и скобка перед(да и после тоже)? Море вариантов.

Автор - KuklP
Дата добавления - 26.12.2013 в 20:51
_Boroda_ Дата: Четверг, 26.12.2013, 21:05 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
И вообще, куда вы спешите? Оно надо?

А просто задачка интересная
Мой вариант
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&A1;" ";ПОВТОР(" ";ДЛСТР(A1)));ПОИСК(" "&ПОВТОР("?";ДЛСТР(A1))&"@";ПОДСТАВИТЬ(" "&A1;" ";ПОВТОР(" ";ДЛСТР(A1))));ДЛСТР(A1)*2))

работает с граничными значениями:
текст books33@mail.ru
books33@mail.ru текст
books33@mail.ru
К сообщению приложен файл: Book1_2.xlsb (10.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
И вообще, куда вы спешите? Оно надо?

А просто задачка интересная
Мой вариант
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(" "&A1;" ";ПОВТОР(" ";ДЛСТР(A1)));ПОИСК(" "&ПОВТОР("?";ДЛСТР(A1))&"@";ПОДСТАВИТЬ(" "&A1;" ";ПОВТОР(" ";ДЛСТР(A1))));ДЛСТР(A1)*2))

работает с граничными значениями:
текст books33@mail.ru
books33@mail.ru текст
books33@mail.ru

Автор - _Boroda_
Дата добавления - 26.12.2013 в 21:05
KuklP Дата: Четверг, 26.12.2013, 21:09 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
О чем я говорил.
К сообщению приложен файл: 9731592.gif (19.0 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеО чем я говорил.

Автор - KuklP
Дата добавления - 26.12.2013 в 21:09
AndreTM Дата: Четверг, 26.12.2013, 21:19 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
О чем я говорил.
О чём ты говорил? :)
ТС образца своих данных не представила...
А при "море вариантов" я тоже всегда пользуюсь VBA, а не формулами. А то ведь можно додуматься до того, что и "fuЁКЛМН*vasya.pupkin@mail.gotoИПРСТs" есть представление e-mail...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
О чем я говорил.
О чём ты говорил? :)
ТС образца своих данных не представила...
А при "море вариантов" я тоже всегда пользуюсь VBA, а не формулами. А то ведь можно додуматься до того, что и "fuЁКЛМН*vasya.pupkin@mail.gotoИПРСТs" есть представление e-mail...

Автор - AndreTM
Дата добавления - 26.12.2013 в 21:19
KuklP Дата: Четверг, 26.12.2013, 21:22 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
ТС образца своих данных не представила..
И я о том. Куда спешить? ;)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
ТС образца своих данных не представила..
И я о том. Куда спешить? ;)

Автор - KuklP
Дата добавления - 26.12.2013 в 21:22
Lexandra Дата: Пятница, 27.12.2013, 12:16 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот приложила первые 35 емейлов.
Отвечая на ваши вопросы: емейлы могут идти подряд, несколько.
Вариантом масса. Общая таблица 4.500 таких ячеек.

И если не сложно могли бы немного пояснять формулу, я конечно могу тупо подставить ее... но все таки хотелось бы понять что бы потом делать самой.
Спасибо. hands
К сообщению приложен файл: 2601847.xls (21.0 Kb)
 
Ответить
СообщениеВот приложила первые 35 емейлов.
Отвечая на ваши вопросы: емейлы могут идти подряд, несколько.
Вариантом масса. Общая таблица 4.500 таких ячеек.

И если не сложно могли бы немного пояснять формулу, я конечно могу тупо подставить ее... но все таки хотелось бы понять что бы потом делать самой.
Спасибо. hands

Автор - Lexandra
Дата добавления - 27.12.2013 в 12:16
Lexandra Дата: Пятница, 27.12.2013, 12:40 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
проблему решила сначала почистив автозаменой все лишние буквы, типа "р.т." "д.т." и заменив их на пробелы. А потом прошла формулой которую предложил _Boroda_, скопировала значения в текст, удалила лишние "!знач" и потом удалила последние пустые ячейки оставив только е-mail deal

Наверное есть способы и получше. Но я в любом случае с вашей помощью задачу сделала.
Спасибо за помощь, но не отказалась бы в разьяснении формулы..все таки
 
Ответить
Сообщениепроблему решила сначала почистив автозаменой все лишние буквы, типа "р.т." "д.т." и заменив их на пробелы. А потом прошла формулой которую предложил _Boroda_, скопировала значения в текст, удалила лишние "!знач" и потом удалила последние пустые ячейки оставив только е-mail deal

Наверное есть способы и получше. Но я в любом случае с вашей помощью задачу сделала.
Спасибо за помощь, но не отказалась бы в разьяснении формулы..все таки

Автор - Lexandra
Дата добавления - 27.12.2013 в 12:40
AlexM Дата: Пятница, 27.12.2013, 14:37 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Наверное есть способы и получше

Функция выделния E-mail из строки
К сообщению приложен файл: 2601847_new.xls (36.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Пятница, 27.12.2013, 14:43
 
Ответить
Сообщение
Наверное есть способы и получше

Функция выделния E-mail из строки

Автор - AlexM
Дата добавления - 27.12.2013 в 14:37
_Boroda_ Дата: Пятница, 27.12.2013, 15:42 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
но не отказалась бы в разьяснении формулы

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


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
но не отказалась бы в разьяснении формулы

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

Автор - _Boroda_
Дата добавления - 27.12.2013 в 15:42
Slaventiy Дата: Вторник, 01.12.2015, 10:13 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

Надеюсь тема еще актуальна. Такое дело: есть ячейка, в которой содержится информация в одну строку с перечислением кучи информации. Надо вытащить определенно количество знаков после определенного слова и знака (пример: "выдел:33" вытащить число 33). Причем это условие должно быть четким, без интерпретации типа "подвыдел:". Кроме того, в одной ячейке может содержаться несколько значений, но здесь, я думаю, можно поступить проще - в формуле указать, с какого места искать значение. Честно говоря с текстовыми формулами что-то я слабоват, поэтому и спрашиваю, не судите строго :(

PS. Пытался что-то сделать самостоятельно, но такая чушь получается. Функция текст по столбцам несколько неадекватно работает, разделяет слова и значения на разные длины, что потом невозможно работать одной формулой.

Пример прилагается.
К сообщению приложен файл: post_78924.xlsx (8.7 Kb)


Есть вопрос? Спроси!
 
Ответить
СообщениеНадеюсь тема еще актуальна. Такое дело: есть ячейка, в которой содержится информация в одну строку с перечислением кучи информации. Надо вытащить определенно количество знаков после определенного слова и знака (пример: "выдел:33" вытащить число 33). Причем это условие должно быть четким, без интерпретации типа "подвыдел:". Кроме того, в одной ячейке может содержаться несколько значений, но здесь, я думаю, можно поступить проще - в формуле указать, с какого места искать значение. Честно говоря с текстовыми формулами что-то я слабоват, поэтому и спрашиваю, не судите строго :(

PS. Пытался что-то сделать самостоятельно, но такая чушь получается. Функция текст по столбцам несколько неадекватно работает, разделяет слова и значения на разные длины, что потом невозможно работать одной формулой.

Пример прилагается.

Автор - Slaventiy
Дата добавления - 01.12.2015 в 10:13
AlexM Дата: Вторник, 01.12.2015, 11:15 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Тема актуальная, но у вас вопрос другой. Создайте новую тему и получите ответ.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеТема актуальная, но у вас вопрос другой. Создайте новую тему и получите ответ.

Автор - AlexM
Дата добавления - 01.12.2015 в 11:15
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как выбрать из ячейки слово с определенным символом (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!