Страницы: 1
RSS
Исправление формулы.Перевод месяцев с англ. на рус.
 
Добрый день,

Помогите пожалуйста исправить формулу для перевода месяца из  такого вида " Бла бла бла Vessels January/February 2013" в такой " Бла бла бла январе — феврале 13". Написал формулу но она почему то правильно работает только в сочетании January/February, а в другом сочетании не хочет работать.
 
Если привлечь на помощь макросы (сделать пользовательскую функцию - UDF, например, =ЗаменитьМесяцы(ячейка)), то ваша проблема легко решается

Или вам нужно обойтись без макросов, только встроенными средствами Excel (формулы)?
 
Да, к сожалению макросы нельзя использовать.
 
одному названию на английском может соответствовать только одно название на русском?
 
=ИНДЕКС($H$2:$H$13;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК($F$2:$F$13;B3));СТРОКА($A$2:$A$13)-1);1))&"-"&ИНДЕКС($H$2:$H$13;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК($F$2:$F$13;B3));СТРОКА($A$2:$A$13)-1);2))&" "&ПРАВСИМВ(B3;2)

Формула массива.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
LVL,
Да конечно, там в файле рядом даже табличка с переводом с англ. на русс. можно брать любую колонку.

Владимир,

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


Vessels January/February 2013 - январе - феврале 13
Vessels March/February 2013 - феврале - марте 13 правильно будет марте - феврале 13
 
Цитата
FreeWed пишет:

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

.. Потому что надо сразу озвучивать хотелки.

Код
=ЕСЛИОШИБКА(ВПР(ПСТР(B3;НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕЧИСЛО(ПОИСК($F$2:$F$13;B3))*ПОИСК($F$2:$F$13;B3);"");1);3)&"*";$F$2:$H$13;3;);ВПР(ПСТР(B3;НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕЧИСЛО(ПОИСК($J$2:$J$13;B3))*ПОИСК($J$2:$J$13;B3);"");1);3)&"*";$F$2:$H$13;3;))&" - "&ЕСЛИОШИБКА(ВПР(ПСТР(B3;НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕЧИСЛО(ПОИСК($F$2:$F$13;B3))*ПОИСК($F$2:$F$13;B3);"");2);3)&"*";$F$2:$H$13;3;);ВПР(ПСТР(B3;НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕЧИСЛО(ПОИСК($J$2:$J$13;B3))*ПОИСК($J$2:$J$13;B3);"");2);3)&"*";$F$2:$H$13;3;))&" "&ПРАВСИМВ(B3;2)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Без макросов вижу только один вариант, создать дополнительно 24 столбца по количеству вариантов наименований месяцев и в каждом последующем использовать результат вычисления в предыдущем, потому как не обходим цикл, а его стандартные средства не предусматривают, функционала формул массивов не хватает :(
 
LVL, Владимир,

Ребята спасибо Вам большое :)

Варианты оба рабочие!

Владимир извините что сразу свои хотелки не озвучил, понимаю что Вам некогда смотреть вложенные файлы, просто там были разные варианты.

Да и решение в создании 24 столбцов тоже вариант, что то сразу в голову не пришло :)
 
Переставьте сокращенные названия месяцев со столбца J в первый столбец таблицы (E).
=ВПР(ПСТР(B3;ПОИСК(" ";B3)+1;3);$E$2:$I$13;4  ;)  &" - "&ВПР(ПСТР(B3;ПОИСК("/";B3)+1;3);$E$2:$I$13;4  ;)  &" "&ПРАВСИМВ(B3;2)

Если не одно слово, а "бла-бла-бла", ПОИСК() нужно немного изменить:
ПОИСК("Vessels";B3)+8;3)

Если не только "бла-бла-бла", но и то, что в последней строке примера:
=ВПР(ПСТР(ПСТР(B3;ПОИСК("/";ПОДСТАВИТЬ(B3;"-";"/" ;) )-10;10);ПОИСК(" ";ПСТР(B3;ПОИСК("/";ПОДСТАВИТЬ(B3;"-";"/" ;) )-10;10))+1;3);$E$2:$I$13;4 ;)  &" - "&ВПР(ПСТР(B3;ПОИСК("/";ПОДСТАВИТЬ(B3;"-";"/" ;) )+1;3);$E$2:$I$13;4 ;)  &" "&ЕСЛИ(ЕЧИСЛО(-ПРАВСИМВ(B3;2));ПРАВСИМВ(B3;2);"" ;)
 
vikttur,

Спасибо люди добрые! Очень помогли!
Страницы: 1
Читают тему
Наверх