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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула возвращает текст содержащий символ (Формулы/Formulas)
Формула возвращает текст содержащий символ
Ефгений Дата: Среда, 28.02.2018, 19:57 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4480
Репутация: 1114 ±
Замечаний: 0% ±

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



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

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

2013 Win, 365 Mac
Ефгений, здравствуйте. Как вариант
Код
=ПСТР(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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4480
Репутация: 1114 ±
Замечаний: 0% ±

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



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

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

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

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

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

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

Excel 2010
массивные
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(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)


ЮMoney 41001841029809
 
Ответить
Сообщениемассивные
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4480
Репутация: 1114 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

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

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

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



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

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

2013 Win, 365 Mac
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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 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)


Яндекс: 410016850021169
 
Ответить
Сообщение
это самое то для регулярных выражений

я пока только учусь) паттерн получился немного другой
Вопрос к ТС, из строки
Цитата
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
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Я попробовал сделать с паттерном \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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

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

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


Яндекс: 410016850021169

Сообщение отредактировал 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
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

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


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

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

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

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

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



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

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

2010
Здравствуйте. Однажды умные ребята на этом форуме мне очень сильно помогли написав формулу, которая ищет параметр из ячейки в столбце 2 и сравнивает его со столбцом 1, возвращает результат в колонку 5. Никак не могу понять почему эта формула работает в том файле который мне прислали, а в тот в который я скопировав вставляю эту формулу, не работает? Пример в приложении, очень буду признателен если поможете.
К сообщению приложен файл: 8808952.xlsx (9.2 Kb)
 
Ответить
СообщениеЗдравствуйте. Однажды умные ребята на этом форуме мне очень сильно помогли написав формулу, которая ищет параметр из ячейки в столбце 2 и сравнивает его со столбцом 1, возвращает результат в колонку 5. Никак не могу понять почему эта формула работает в том файле который мне прислали, а в тот в который я скопировав вставляю эту формулу, не работает? Пример в приложении, очень буду признателен если поможете.

Автор - Ефгений
Дата добавления - 22.09.2018 в 20:57
SLAVICK Дата: Суббота, 22.09.2018, 21:09 | Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Ответ на этот вопрос в другой вашей теме. Эта тема закрыта.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеОтвет на этот вопрос в другой вашей теме. Эта тема закрыта.

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

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