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

Вход

Регистрация

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

 

= Мир MS Excel/Вставить после определенного слово, слово с большой буквы - Мир MS Excel

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_, DrMini  
Вставить после определенного слово, слово с большой буквы
StrannicK Дата: Воскресенье, 14.06.2015, 17:51 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день, уважаемые Гуру exel.

Встала такая задача, есть список около 2000-3000 тыс предложений. В основном однотипные, например

Замена ремня ГРМ на каптиве
Замена ремня ГРМ на киа
Замена ремня ГРМ на бмв

Хотелось бы, с помощью формулы, скажем так все наименования машин или после слова "на" вставлялась большая буква, например:

Замена ремня ГРМ на Каптиве
Замена ремня ГРМ на Киа
Замена ремня ГРМ на Бмв

Пожалуйста, можете подсказать формулу вставки

Пытался самостоятельно, но мало чего получилось...

Ниже прикрепил файл

P.S
Что-то тема не создавалась, простите за дубль
К сообщению приложен файл: excel.xlsx (9.8 Kb)
 
Ответить
СообщениеДобрый день, уважаемые Гуру exel.

Встала такая задача, есть список около 2000-3000 тыс предложений. В основном однотипные, например

Замена ремня ГРМ на каптиве
Замена ремня ГРМ на киа
Замена ремня ГРМ на бмв

Хотелось бы, с помощью формулы, скажем так все наименования машин или после слова "на" вставлялась большая буква, например:

Замена ремня ГРМ на Каптиве
Замена ремня ГРМ на Киа
Замена ремня ГРМ на Бмв

Пожалуйста, можете подсказать формулу вставки

Пытался самостоятельно, но мало чего получилось...

Ниже прикрепил файл

P.S
Что-то тема не создавалась, простите за дубль

Автор - StrannicK
Дата добавления - 14.06.2015 в 17:51
_Boroda_ Дата: Воскресенье, 14.06.2015, 18:15 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ПСТР(B2;1;ПОИСК(" на ";B2)+3)&ПРОПИСН(ПСТР(B2;ПОИСК(" на ";B2)+4;1))&ПСТР(B2;ПОИСК(" на ";B2)+5;99)
К сообщению приложен файл: excel_1.xlsx (10.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ПСТР(B2;1;ПОИСК(" на ";B2)+3)&ПРОПИСН(ПСТР(B2;ПОИСК(" на ";B2)+4;1))&ПСТР(B2;ПОИСК(" на ";B2)+5;99)

Автор - _Boroda_
Дата добавления - 14.06.2015 в 18:15
StrannicK Дата: Воскресенье, 14.06.2015, 18:23 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо уважаемый!!! Лучи добра Вам!

Еще такой вопрос, а можно все тоже самое, но без слова "на"

То есть, есть и такие слова:

Замена ремня ГРМ Опель
Замена цепи ГРМ Мазда

Вот с этим тоже можете подсказать?


Сообщение отредактировал Serge_007 - Воскресенье, 14.06.2015, 18:34
 
Ответить
СообщениеСпасибо уважаемый!!! Лучи добра Вам!

Еще такой вопрос, а можно все тоже самое, но без слова "на"

То есть, есть и такие слова:

Замена ремня ГРМ Опель
Замена цепи ГРМ Мазда

Вот с этим тоже можете подсказать?

Автор - StrannicK
Дата добавления - 14.06.2015 в 18:23
МВТ Дата: Воскресенье, 14.06.2015, 18:56 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Если я правильно понимаю, с большой буквы надо писать последнее слово? Тогда можно так [vba]
Код
Function Марка(S As String) As String
If S = "" Then Exit Function
Dim Arr
Arr = Split(S)
Arr(UBound(Arr)) = Application.WorksheetFunction.Proper(Arr(UBound(Arr)))
Марка = Join(Arr)
End Function
[/vba]
 
Ответить
СообщениеЕсли я правильно понимаю, с большой буквы надо писать последнее слово? Тогда можно так [vba]
Код
Function Марка(S As String) As String
If S = "" Then Exit Function
Dim Arr
Arr = Split(S)
Arr(UBound(Arr)) = Application.WorksheetFunction.Proper(Arr(UBound(Arr)))
Марка = Join(Arr)
End Function
[/vba]

Автор - МВТ
Дата добавления - 14.06.2015 в 18:56
_Boroda_ Дата: Воскресенье, 14.06.2015, 18:58 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
"Огласите весь список, пожалуйста"
У Вас же не только Опель, но и Киа рио 1 (и не только ГРМ, но и другие слова перед маркой машины) - как ловить ту позицию, с которой нужно делать большую букву?
с большой буквы надо писать последнее слово?

А файлик ТСа смотрели?
Было бы последнее слово - вообще бы проблем не было бы.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение"Огласите весь список, пожалуйста"
У Вас же не только Опель, но и Киа рио 1 (и не только ГРМ, но и другие слова перед маркой машины) - как ловить ту позицию, с которой нужно делать большую букву?
с большой буквы надо писать последнее слово?

А файлик ТСа смотрели?
Было бы последнее слово - вообще бы проблем не было бы.

Автор - _Boroda_
Дата добавления - 14.06.2015 в 18:58
МВТ Дата: Воскресенье, 14.06.2015, 19:04 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
А файлик ТСа смотрели?

К сожалению нет - только то, что было в сообщениях
 
Ответить
Сообщение
А файлик ТСа смотрели?

К сожалению нет - только то, что было в сообщениях

Автор - МВТ
Дата добавления - 14.06.2015 в 19:04
StrannicK Дата: Воскресенье, 14.06.2015, 19:05 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Форумчанин MBT правильно сказал, но функция его не работает (может не правильно вбиваю).

У меня список пока только ГРМ, скорей всего еще будут другие части автомобиля.

Мне по сути нужно:

Чтобы после слов "Замена чего-то ГРМ" после ГРМ любая фраза начиналась с большой буквы.

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

Замена цепей ГРМ 1 6
Замена цепей ГРМ zqe345
Замена ремня ГРМ 2 0 4

Борода, Ваш код подошел, но если убирать слова "на" то он не работает)
 
Ответить
СообщениеФорумчанин MBT правильно сказал, но функция его не работает (может не правильно вбиваю).

У меня список пока только ГРМ, скорей всего еще будут другие части автомобиля.

Мне по сути нужно:

Чтобы после слов "Замена чего-то ГРМ" после ГРМ любая фраза начиналась с большой буквы.

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

Замена цепей ГРМ 1 6
Замена цепей ГРМ zqe345
Замена ремня ГРМ 2 0 4

Борода, Ваш код подошел, но если убирать слова "на" то он не работает)

Автор - StrannicK
Дата добавления - 14.06.2015 в 19:05
StrannicK Дата: Воскресенье, 14.06.2015, 19:06 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Было бы последнее слово - вообще бы проблем не было бы.


Скажем так последние слова, которые идут после ГРМ
 
Ответить
Сообщение
Было бы последнее слово - вообще бы проблем не было бы.


Скажем так последние слова, которые идут после ГРМ

Автор - StrannicK
Дата добавления - 14.06.2015 в 19:06
Serge_007 Дата: Воскресенье, 14.06.2015, 19:06 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
с большой буквы надо писать последнее слово?
А зачем Вам это надо?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
с большой буквы надо писать последнее слово?
А зачем Вам это надо?

Автор - Serge_007
Дата добавления - 14.06.2015 в 19:06
МВТ Дата: Воскресенье, 14.06.2015, 19:13 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Если определяемся по "ГРМ" и там может быть или не быть "на", то можно попробовать такую UDF [vba]
Код
Function Марка(S As String) As String
If S = "" Then Exit Function
Dim Arr
Dim I As Long
Dim J As Integer
Arr = Split(S)
For I = 0 To UBound(Arr)
If LCase(Arr(I)) = "грм" Then
     J = 1
     If LCase(Arr(I + J)) = "на" Then J = J + 1
     Arr(I + J) = Application.WorksheetFunction.Proper(Arr(I + J))
     Марка = Join(Arr)
     Exit Function
End If
Next I
End Function
[/vba]
 
Ответить
СообщениеЕсли определяемся по "ГРМ" и там может быть или не быть "на", то можно попробовать такую UDF [vba]
Код
Function Марка(S As String) As String
If S = "" Then Exit Function
Dim Arr
Dim I As Long
Dim J As Integer
Arr = Split(S)
For I = 0 To UBound(Arr)
If LCase(Arr(I)) = "грм" Then
     J = 1
     If LCase(Arr(I + J)) = "на" Then J = J + 1
     Arr(I + J) = Application.WorksheetFunction.Proper(Arr(I + J))
     Марка = Join(Arr)
     Exit Function
End If
Next I
End Function
[/vba]

Автор - МВТ
Дата добавления - 14.06.2015 в 19:13
vikttur Дата: Воскресенье, 14.06.2015, 19:21 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
все наименования машин или после слова "на"...
...но если убирать слова "на" то он не работает)...
...Чтобы после слов "Замена чего-то ГРМ" после ГРМ любая фраза начиналась с большой буквы.

Следующим отвеом будет "но если убирать слова "ГРМ" то он не работает"?


Сообщение отредактировал vikttur - Воскресенье, 14.06.2015, 19:30
 
Ответить
Сообщение
Цитата
все наименования машин или после слова "на"...
...но если убирать слова "на" то он не работает)...
...Чтобы после слов "Замена чего-то ГРМ" после ГРМ любая фраза начиналась с большой буквы.

Следующим отвеом будет "но если убирать слова "ГРМ" то он не работает"?

Автор - vikttur
Дата добавления - 14.06.2015 в 19:21
StrannicK Дата: Воскресенье, 14.06.2015, 19:31 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Если определяемся по "ГРМ" и там может быть или не быть "на", то можно попробовать такую UDF


Мм.. что-то как-то не работает... http://prntscr.com/7gvo53

Следующим отвеом будет "но если убирать слова "ГРМ" то он не работает)"?


Решить бы эту задачу, дальше видно будет :)
 
Ответить
Сообщение
Если определяемся по "ГРМ" и там может быть или не быть "на", то можно попробовать такую UDF


Мм.. что-то как-то не работает... http://prntscr.com/7gvo53

Следующим отвеом будет "но если убирать слова "ГРМ" то он не работает)"?


Решить бы эту задачу, дальше видно будет :)

Автор - StrannicK
Дата добавления - 14.06.2015 в 19:31
Serge_007 Дата: Воскресенье, 14.06.2015, 19:33 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
StrannicK, я жду ответа на свой вопрос.
Пока ответа не будет - тема будет закрыта


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеStrannicK, я жду ответа на свой вопрос.
Пока ответа не будет - тема будет закрыта

Автор - Serge_007
Дата добавления - 14.06.2015 в 19:33
vikttur Дата: Воскресенье, 14.06.2015, 19:33 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Т.е. вы решайте, а я потом над условиями подумаю? Ну-ну...
 
Ответить
СообщениеТ.е. вы решайте, а я потом над условиями подумаю? Ну-ну...

Автор - vikttur
Дата добавления - 14.06.2015 в 19:33
МВТ Дата: Воскресенье, 14.06.2015, 19:36 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Проверьте, включены ли у Вас макросы. И вот файл
К сообщению приложен файл: 0376205.xlsm (16.5 Kb)
 
Ответить
СообщениеПроверьте, включены ли у Вас макросы. И вот файл

Автор - МВТ
Дата добавления - 14.06.2015 в 19:36
StrannicK Дата: Воскресенье, 14.06.2015, 19:40 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
StrannicK, я жду ответа на свой вопрос.


Serge_007, если я не ошибаюсь, то цитировали Вы не меня, а 4 сообщение "MBT"

Отвечаю на вопрос:

Порядок в документах: Каждый день сотрудники пишут в таком порядке (что меняли), и писать заведено именно так "Замена чего-то Марка (серия двигателя)"
+ Облако ключевых слов в нормальном виде

Т.е. вы решайте, а я потом над условиями подумаю? Ну-ну...


Если же, лично я или моя просьба помочь, чем-то Вам мешает, могу попросить закрыть тему, я думал тут могут помочь решить вопрос, а не потыкать им.
 
Ответить
Сообщение
StrannicK, я жду ответа на свой вопрос.


Serge_007, если я не ошибаюсь, то цитировали Вы не меня, а 4 сообщение "MBT"

Отвечаю на вопрос:

Порядок в документах: Каждый день сотрудники пишут в таком порядке (что меняли), и писать заведено именно так "Замена чего-то Марка (серия двигателя)"
+ Облако ключевых слов в нормальном виде

Т.е. вы решайте, а я потом над условиями подумаю? Ну-ну...


Если же, лично я или моя просьба помочь, чем-то Вам мешает, могу попросить закрыть тему, я думал тут могут помочь решить вопрос, а не потыкать им.

Автор - StrannicK
Дата добавления - 14.06.2015 в 19:40
vikttur Дата: Воскресенье, 14.06.2015, 19:42 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
я думал тут могут помочь решить вопрос, а не потыкать им

Так решают же. А Вы условия меняете. Вот чв чем проблема. Вы не можете нормально описать задачу, а люди зря время тратят. Уважайте и Вы их работу.
 
Ответить
Сообщение
Цитата
я думал тут могут помочь решить вопрос, а не потыкать им

Так решают же. А Вы условия меняете. Вот чв чем проблема. Вы не можете нормально описать задачу, а люди зря время тратят. Уважайте и Вы их работу.

Автор - vikttur
Дата добавления - 14.06.2015 в 19:42
StrannicK Дата: Воскресенье, 14.06.2015, 19:45 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Так решают же. А Вы условия меняете. Вот чв чем проблема. Вы не можете нормально описать задачу, а люди зря время тратят. Уважайте и Вы их работу.


Условия не менял, просто попросил еще вариант без слова "на", если я с этим списком парился примерно часа 4 (вручную ковырял) то Борода и MBT решили эту задачу за 5 минут.

Просто подумал, если будет не сложно, то же самое но без слова "на", было бы замечательно. Я же не заставляю РЕШИТЕ эту проблему прям сейчас.

Благодарю Бороду и MBT, все работает замечательно! Огромное спасибо! Простите, что отнял драгоценное время
 
Ответить
Сообщение
Так решают же. А Вы условия меняете. Вот чв чем проблема. Вы не можете нормально описать задачу, а люди зря время тратят. Уважайте и Вы их работу.


Условия не менял, просто попросил еще вариант без слова "на", если я с этим списком парился примерно часа 4 (вручную ковырял) то Борода и MBT решили эту задачу за 5 минут.

Просто подумал, если будет не сложно, то же самое но без слова "на", было бы замечательно. Я же не заставляю РЕШИТЕ эту проблему прям сейчас.

Благодарю Бороду и MBT, все работает замечательно! Огромное спасибо! Простите, что отнял драгоценное время

Автор - StrannicK
Дата добавления - 14.06.2015 в 19:45
МВТ Дата: Воскресенье, 14.06.2015, 19:52 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Чтобы не переделывать под новые запчасти (вводить вторым аргументом через пробел) [vba]
Код
Function Марка(S As String, Optional ByVal Запчасти As String = "грм") As String
If S = "" Then Exit Function
Dim Arr
Dim I As Long
Dim J As Integer
Arr = Split(S)
Запчасти = LCase(Запчасти)
For I = 0 To UBound(Arr)
If InStr(Запчасти, LCase(Arr(I))) <> 0 Then
     J = 1
     If LCase(Arr(I + J)) = "на" Then J = J + 1
     Arr(I + J) = Application.WorksheetFunction.Proper(Arr(I + J))
     Марка = Join(Arr)
     Exit Function
End If
Next I
End Function
[/vba]
 
Ответить
СообщениеЧтобы не переделывать под новые запчасти (вводить вторым аргументом через пробел) [vba]
Код
Function Марка(S As String, Optional ByVal Запчасти As String = "грм") As String
If S = "" Then Exit Function
Dim Arr
Dim I As Long
Dim J As Integer
Arr = Split(S)
Запчасти = LCase(Запчасти)
For I = 0 To UBound(Arr)
If InStr(Запчасти, LCase(Arr(I))) <> 0 Then
     J = 1
     If LCase(Arr(I + J)) = "на" Then J = J + 1
     Arr(I + J) = Application.WorksheetFunction.Proper(Arr(I + J))
     Марка = Join(Arr)
     Exit Function
End If
Next I
End Function
[/vba]

Автор - МВТ
Дата добавления - 14.06.2015 в 19:52
StrannicK Дата: Воскресенье, 14.06.2015, 20:17 | Сообщение № 20
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Чтобы не переделывать под новые запчасти (вводить вторым аргументом через пробел)


MBT, спасибо

Из твоего макроса, то есть убрать "грм" и можно будет поставить АКПП или другие детали? я правильно понял?
 
Ответить
Сообщение
Чтобы не переделывать под новые запчасти (вводить вторым аргументом через пробел)


MBT, спасибо

Из твоего макроса, то есть убрать "грм" и можно будет поставить АКПП или другие детали? я правильно понял?

Автор - StrannicK
Дата добавления - 14.06.2015 в 20:17
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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