Формула возвращает текст содержащий символ
Ефгений
Дата: Среда, 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х после символа "-". Ну как то так. Ефгений
Ответить
Сообщение Скажите пожалуйста какая конструкция будет возвращать текст расположенный слева и справа от знака "-". Например "Дефлекторы окон 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
Файл с примером приложите.
Файл с примером приложите. AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Файл с примером приложите. Автор - AlexM Дата добавления - 28.02.2018 в 20:03
Che79
Дата: Среда, 28.02.2018, 20:03 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация:
306
±
Замечаний:
0% ±
2013 Win, 365 Mac
Ефгений , здравствуйте. Как вариант Код
=ПСТР(A1;ПОИСК("????-";A1);9)
Ефгений , здравствуйте. Как вариант Код
=ПСТР(A1;ПОИСК("????-";A1);9)
Che79
К сообщению приложен файл:
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
Che79 , вместо ???? короче -4AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Che79 , вместо ???? короче -4Автор - AlexM Дата добавления - 28.02.2018 в 20:07
Ефгений
Дата: Среда, 28.02.2018, 20:21 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
0
±
Замечаний:
0% ±
2010
Уххх. Спасибо Вам большущее. Работает.)))) Пример приложил. Скажите пожалуйста а где можно изучить тему составления таких формул. Хочу освоить эксель чтобы мозг не взрывать специалистам тут на форуме
Уххх. Спасибо Вам большущее. Работает.)))) Пример приложил. Скажите пожалуйста а где можно изучить тему составления таких формул. Хочу освоить эксель чтобы мозг не взрывать специалистам тут на форуме Ефгений
Ответить
Сообщение Уххх. Спасибо Вам большущее. Работает.)))) Пример приложил. Скажите пожалуйста а где можно изучить тему составления таких формул. Хочу освоить эксель чтобы мозг не взрывать специалистам тут на форуме Автор - Ефгений Дата добавления - 28.02.2018 в 20:21
Ефгений
Дата: Среда, 28.02.2018, 20:28 |
Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
0
±
Замечаний:
0% ±
2010
Еще маленькая поправочка. Есть формат в котором после значения "-", ничего нет например 2005-, что дополнить в формуле, если после - ничего нет то соответственно возвращает пустое значение ?
Еще маленькая поправочка. Есть формат в котором после значения "-", ничего нет например 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);",";))
массивныеКод
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(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
Ю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)
Еще вариант формулы массиваКод
=ПСТР(ЛЕВБ(A1;ПОИСК("- ";ПОДСТАВИТЬ(A1;",";" ")&"- "));ПОИСКПОЗ(1;(--ПСТР(A1;СТРОКА($1:$99);5)>1980)*(--ПСТР(A1;СТРОКА($1:$99);5)<2020);)+1;9)
AlexM
Номер мобильного модема (без голосовой связи) 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 я получил на этом форуме. Думаю большинство завсегдатаев форума скажут примерно так.
Ефгений , 90% знаний в программе Excel я получил на этом форуме. Думаю большинство завсегдатаев форума скажут примерно так.AlexM
Номер мобильного модема (без голосовой связи) 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
Делай нормально и будет нормально!
Ответить
Сообщение 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]
это самое то для регулярных выражений
я пока только учусь) паттерн получился немного другой Вопрос к ТС, из строки Цитата
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
Яндекс: 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. Последние три строки в файле добавил вручную для проверки.
Я попробовал сделать с паттерном \d{4}-\d{4}|\d{4} на основе этой объяснялки. Вроде, всё корректно. В случае, если в строке год только до дефиса, он извлекается без дефиса. Именно так я понял дополнение от ТС'а в сообщении #6. Последние три строки в файле добавил вручную для проверки. Che79
Делай нормально и будет нормально!
Ответить
Сообщение Я попробовал сделать с паттерном \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}-
Che79 , я сам пока не силен в паттернах, но твой будет выдавать ошибочные данные (для примера сделал и отметил в твоем файле) Добавлено: пока писал, понял, как исправить. вот так будет правильно \d{4}-\d{4}|\d{4}- sboy
Яндекс: 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
Делай нормально и будет нормально!
Ответить
Сообщение 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 В файле функция, в которую можно подставлять регулярное выражение и сразу видеть результат.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение RegExp В файле функция, в которую можно подставлять регулярное выражение и сразу видеть результат.Автор - AlexM Дата добавления - 02.03.2018 в 09:26
Ефгений
Дата: Суббота, 22.09.2018, 20:57 |
Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация:
0
±
Замечаний:
0% ±
2010
Здравствуйте. Однажды умные ребята на этом форуме мне очень сильно помогли написав формулу, которая ищет параметр из ячейки в столбце 2 и сравнивает его со столбцом 1, возвращает результат в колонку 5. Никак не могу понять почему эта формула работает в том файле который мне прислали, а в тот в который я скопировав вставляю эту формулу, не работает? Пример в приложении, очень буду признателен если поможете.
Здравствуйте. Однажды умные ребята на этом форуме мне очень сильно помогли написав формулу, которая ищет параметр из ячейки в столбце 2 и сравнивает его со столбцом 1, возвращает результат в колонку 5. Никак не могу понять почему эта формула работает в том файле который мне прислали, а в тот в который я скопировав вставляю эту формулу, не работает? Пример в приложении, очень буду признателен если поможете. Ефгений
Ответить
Сообщение Здравствуйте. Однажды умные ребята на этом форуме мне очень сильно помогли написав формулу, которая ищет параметр из ячейки в столбце 2 и сравнивает его со столбцом 1, возвращает результат в колонку 5. Никак не могу понять почему эта формула работает в том файле который мне прислали, а в тот в который я скопировав вставляю эту формулу, не работает? Пример в приложении, очень буду признателен если поможете. Автор - Ефгений Дата добавления - 22.09.2018 в 20:57
SLAVICK
Дата: Суббота, 22.09.2018, 21:09 |
Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
Ответ на этот вопрос в другой вашей теме. Эта тема закрыта.
Ответ на этот вопрос в другой вашей теме. Эта тема закрыта. SLAVICK
Иногда все проще чем кажется с первого взгляда.
Ответить
Сообщение Ответ на этот вопрос в другой вашей теме. Эта тема закрыта. Автор - SLAVICK Дата добавления - 22.09.2018 в 21:09