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

Вход

Регистрация

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

 

= Мир MS Excel/Формула возвращает текст содержащий символ - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула возвращает текст содержащий символ (Формулы/Formulas)
Формула возвращает текст содержащий символ
Ефгений Дата: Среда, 28.02.2018, 19:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

2010
Скажите пожалуйста какая конструкция будет возвращать текст расположенный слева и справа от знака "-". Например "Дефлекторы окон AUDI А3/S3, 2005-2012 Hb," нужно забрать с текста 2005-2012
или "Дефлекторы окон 4 door MERCEDES GLC 2015-" нужно 2015-. Вообще задумка забирать из текста годы выпуска автомобиля, они могут быть записаны в двух форматах
1. 2000-2006
2. 2000-
Как я понимаю нужно брать не более 4х знаков до, и не более 4х после символа "-".
Ну как то так.
 
Ответить
СообщениеСкажите пожалуйста какая конструкция будет возвращать текст расположенный слева и справа от знака "-". Например "Дефлекторы окон AUDI А3/S3, 2005-2012 Hb," нужно забрать с текста 2005-2012
или "Дефлекторы окон 4 door MERCEDES GLC 2015-" нужно 2015-. Вообще задумка забирать из текста годы выпуска автомобиля, они могут быть записаны в двух форматах
1. 2000-2006
2. 2000-
Как я понимаю нужно брать не более 4х знаков до, и не более 4х после символа "-".
Ну как то так.

Автор - Ефгений
Дата добавления - 28.02.2018 в 19:57
AlexM Дата: Среда, 28.02.2018, 20:03 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3741
Репутация: 944 ±
Замечаний: 0% ±

Excel 2003
Файл с примером приложите.



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

Автор - AlexM
Дата добавления - 28.02.2018 в 20:03
Che79 Дата: Среда, 28.02.2018, 20:03 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1266
Репутация: 226 ±
Замечаний: 0% ±

Excel 2007, 2013
Ефгений, здравствуйте. Как вариант
Код
=ПСТР(A1;ПОИСК("????-";A1);9)
К сообщению приложен файл: 1_1.xlsx(9.9 Kb)


Делай нормально и будет нормально!
 
Ответить
СообщениеЕфгений, здравствуйте. Как вариант
Код
=ПСТР(A1;ПОИСК("????-";A1);9)

Автор - Che79
Дата добавления - 28.02.2018 в 20:03
AlexM Дата: Среда, 28.02.2018, 20:07 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3741
Репутация: 944 ±
Замечаний: 0% ±

Excel 2003
Che79, вместо ???? короче -4



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеChe79, вместо ???? короче -4

Автор - AlexM
Дата добавления - 28.02.2018 в 20:07
Ефгений Дата: Среда, 28.02.2018, 20:21 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

2010
Уххх. Спасибо Вам большущее. Работает.)))) Пример приложил. Скажите пожалуйста а где можно изучить тему составления таких формул. Хочу освоить эксель чтобы мозг не взрывать специалистам тут на форуме
К сообщению приложен файл: 0813866.xlsx(10.1 Kb)
 
Ответить
СообщениеУххх. Спасибо Вам большущее. Работает.)))) Пример приложил. Скажите пожалуйста а где можно изучить тему составления таких формул. Хочу освоить эксель чтобы мозг не взрывать специалистам тут на форуме

Автор - Ефгений
Дата добавления - 28.02.2018 в 20:21
Ефгений Дата: Среда, 28.02.2018, 20:28 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

2010
Еще маленькая поправочка. Есть формат в котором после значения "-", ничего нет например 2005-, что дополнить в формуле, если после - ничего нет то соответственно возвращает пустое значение ?
 
Ответить
СообщениеЕще маленькая поправочка. Есть формат в котором после значения "-", ничего нет например 2005-, что дополнить в формуле, если после - ничего нет то соответственно возвращает пустое значение ?

Автор - Ефгений
Дата добавления - 28.02.2018 в 20:28
Nic70y Дата: Среда, 28.02.2018, 21:02 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4677
Репутация: 1008 ±
Замечаний: 0% ±

Excel 2013
массивные
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"\");"/";"\");СТРОКА(A$1:A$274);4));СТРОКА(A$1:A$274)));9);",";" ");" ";"    ");9))
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(ПСТР(A1;СТРОКА($A$1:$A$278);5);СТРОКА($A$1974:$A$2024)&"-";));СТРОКА($A$1:$A$278)));9);" ";"    ");9);",";))
К сообщению приложен файл: 1402559.xlsx(11.7 Kb)


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщениемассивные
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"\");"/";"\");СТРОКА(A$1:A$274);4));СТРОКА(A$1:A$274)));9);",";" ");" ";"    ");9))
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(ПСТР(A1;СТРОКА($A$1:$A$278);5);СТРОКА($A$1974:$A$2024)&"-";));СТРОКА($A$1:$A$278)));9);" ";"    ");9);",";))

Автор - Nic70y
Дата добавления - 28.02.2018 в 21:02
AlexM Дата: Среда, 28.02.2018, 22:03 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3741
Репутация: 944 ±
Замечаний: 0% ±

Excel 2003
Еще вариант формулы массива
Код
=ПСТР(ЛЕВБ(A1;ПОИСК("- ";ПОДСТАВИТЬ(A1;",";" ")&"- "));ПОИСКПОЗ(1;(--ПСТР(A1;СТРОКА($1:$99);5)>1980)*(--ПСТР(A1;СТРОКА($1:$99);5)<2020);)+1;9)
К сообщению приложен файл: 0813866_01.xlsx(10.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЕще вариант формулы массива
Код
=ПСТР(ЛЕВБ(A1;ПОИСК("- ";ПОДСТАВИТЬ(A1;",";" ")&"- "));ПОИСКПОЗ(1;(--ПСТР(A1;СТРОКА($1:$99);5)>1980)*(--ПСТР(A1;СТРОКА($1:$99);5)<2020);)+1;9)

Автор - AlexM
Дата добавления - 28.02.2018 в 22:03
Ефгений Дата: Среда, 28.02.2018, 23:14 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

2010
эххх мне бы ваши мозги. Как научится бы таких монстров составлять. Спасибо Вам ребята большое)))
 
Ответить
Сообщениеэххх мне бы ваши мозги. Как научится бы таких монстров составлять. Спасибо Вам ребята большое)))

Автор - Ефгений
Дата добавления - 28.02.2018 в 23:14
AlexM Дата: Четверг, 01.03.2018, 00:06 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3741
Репутация: 944 ±
Замечаний: 0% ±

Excel 2003
Ефгений, 90% знаний в программе Excel я получил на этом форуме. Думаю большинство завсегдатаев форума скажут примерно так.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЕфгений, 90% знаний в программе Excel я получил на этом форуме. Думаю большинство завсегдатаев форума скажут примерно так.

Автор - AlexM
Дата добавления - 01.03.2018 в 00:06
Che79 Дата: Четверг, 01.03.2018, 00:23 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1266
Репутация: 226 ±
Замечаний: 0% ±

Excel 2007, 2013
90% знаний в программе Excel я получил на этом форуме
а я 99,5%.
По теме. Приведенный в сообщении #5 пример это самое то для регулярных выражений. В них я пока мало что понимаю, но, думаю, годы легко можно извлечь при помощи паттерна \d{4}-\d{4}|\d{4}. Дождитесь появления в теме знатоков "регулярок". Думаю, они не откажутся показать на практических примерах, как это делается.


Делай нормально и будет нормально!
 
Ответить
Сообщение
90% знаний в программе Excel я получил на этом форуме
а я 99,5%.
По теме. Приведенный в сообщении #5 пример это самое то для регулярных выражений. В них я пока мало что понимаю, но, думаю, годы легко можно извлечь при помощи паттерна \d{4}-\d{4}|\d{4}. Дождитесь появления в теме знатоков "регулярок". Думаю, они не откажутся показать на практических примерах, как это делается.

Автор - Che79
Дата добавления - 01.03.2018 в 00:23
sboy Дата: Четверг, 01.03.2018, 09:35 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1872
Репутация: 552 ±
Замечаний: 0% ±

Excel 2010
это самое то для регулярных выражений

я пока только учусь) паттерн получился немного другой
Вопрос к ТС, из строки
Цитата
FORD RANGER 2006-2011 /MAZDA BT50 2006-
что должно извлечься?
Ориентировался на результат AlexM
[vba]
Код
Function Rexp(txt As String) As String
    With CreateObject("VBScript.RegExp")
        .Pattern = "\d{4}-(\d+|\b|)"
        Rexp = .Execute(txt)(0)
    End With
End Function
[/vba]
К сообщению приложен файл: 0813866_01.xls(46.0 Kb)
 
Ответить
Сообщение
это самое то для регулярных выражений

я пока только учусь) паттерн получился немного другой
Вопрос к ТС, из строки
Цитата
FORD RANGER 2006-2011 /MAZDA BT50 2006-
что должно извлечься?
Ориентировался на результат AlexM
[vba]
Код
Function Rexp(txt As String) As String
    With CreateObject("VBScript.RegExp")
        .Pattern = "\d{4}-(\d+|\b|)"
        Rexp = .Execute(txt)(0)
    End With
End Function
[/vba]

Автор - sboy
Дата добавления - 01.03.2018 в 09:35
Che79 Дата: Четверг, 01.03.2018, 13:10 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 1266
Репутация: 226 ±
Замечаний: 0% ±

Excel 2007, 2013
Я попробовал сделать с паттерном \d{4}-\d{4}|\d{4} на основе этой объяснялки. Вроде, всё корректно. В случае, если в строке год только до дефиса, он извлекается без дефиса. Именно так я понял дополнение от ТС'а в сообщении #6. Последние три строки в файле добавил вручную для проверки.
К сообщению приложен файл: 0813866_1.xlsm(16.6 Kb)


Делай нормально и будет нормально!
 
Ответить
СообщениеЯ попробовал сделать с паттерном \d{4}-\d{4}|\d{4} на основе этой объяснялки. Вроде, всё корректно. В случае, если в строке год только до дефиса, он извлекается без дефиса. Именно так я понял дополнение от ТС'а в сообщении #6. Последние три строки в файле добавил вручную для проверки.

Автор - Che79
Дата добавления - 01.03.2018 в 13:10
sboy Дата: Четверг, 01.03.2018, 14:28 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 1872
Репутация: 552 ±
Замечаний: 0% ±

Excel 2010
Che79, я сам пока не силен в паттернах, но твой будет выдавать ошибочные данные (для примера сделал и отметил в твоем файле)

Добавлено:
пока писал, понял, как исправить. вот так будет правильно \d{4}-\d{4}|\d{4}-
К сообщению приложен файл: 0402645.xlsm(16.2 Kb)


Сообщение отредактировал sboy - Четверг, 01.03.2018, 14:31
 
Ответить
СообщениеChe79, я сам пока не силен в паттернах, но твой будет выдавать ошибочные данные (для примера сделал и отметил в твоем файле)

Добавлено:
пока писал, понял, как исправить. вот так будет правильно \d{4}-\d{4}|\d{4}-

Автор - sboy
Дата добавления - 01.03.2018 в 14:28
Che79 Дата: Четверг, 01.03.2018, 14:39 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 1266
Репутация: 226 ±
Замечаний: 0% ±

Excel 2007, 2013
sboy, Сергей, спасибо за урок! Как всегда, очень наглядно и понятно)


Делай нормально и будет нормально!
 
Ответить
Сообщениеsboy, Сергей, спасибо за урок! Как всегда, очень наглядно и понятно)

Автор - Che79
Дата добавления - 01.03.2018 в 14:39
Ефгений Дата: Четверг, 01.03.2018, 20:41 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

2010
А где можно так сказать именно азы составления регулярок поизучать? Какие символы что означают например?
 
Ответить
СообщениеА где можно так сказать именно азы составления регулярок поизучать? Какие символы что означают например?

Автор - Ефгений
Дата добавления - 01.03.2018 в 20:41
AlexM Дата: Пятница, 02.03.2018, 09:26 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3741
Репутация: 944 ±
Замечаний: 0% ±

Excel 2003
RegExp
В файле функция, в которую можно подставлять регулярное выражение и сразу видеть результат.
К сообщению приложен файл: _RegExp.xls(38.0 Kb)



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

Автор - AlexM
Дата добавления - 02.03.2018 в 09:26
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула возвращает текст содержащий символ (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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