Страницы: 1 2 След.
RSS
Перевести дату по-русски на дату по-английски одной формулой
 
Дано: дата по-русски, например: "Среда, 21 ноября, 2020"
Надо туже дату по-английски одной формулой: "Wednesday, November 21st, 2020" с запятыми.
В данный момент вынуждена каждое слово переводить отдельно, а потом собирать их вместе формулой  об'единения.  
Изменено: Mst Touch - 17.09.2020 21:14:27
 
и вам здравствуйте,
Код
=ТЕКСТ(--(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;",";"");" ";ПОВТОР(" ";99));100;99))&ЛЕВБ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;",";"");" ";ПОВТОР(" ";99));200;99));3)&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;",";"");" ";ПОВТОР(" ";99));300;99)));"[$-9]ДДДД\, ММММ\ ДД, ГГГГ")
не стоит благодарности
Соблюдение правил форума не освобождает от модераторского произвола
 
Не совсем, но близко:
Код
=ТЕКСТ(A1;"[$-409]дддд, ММММ дд, гггг")

Ну или формат такой ячейке  поставить, если можно без формулы.
Изменено: Hugo - 17.09.2020 21:33:01
 
Цитата
Hugo написал:
или формат такой ячейке  поставить
Hugo, так дано ж
Цитата
Mst Touch написал:
"Среда, 21 ноября, 2020"
Изменено: buchlotnik - 17.09.2020 21:34:51
Соблюдение правил форума не освобождает от модераторского произвола
 
=SUBSTITUTE(TEXT(DATE(RIGHT(A1;4);FIND(MID(TRIM(MID(A1;FIND(",";A1)+4;4));2;2);" нвебарпраяюнюлвгепктояец")/2;MID(A1;FIND(",";A1)+2;2));"[$-409]ДДДД, ММММ Д, ГГГГ");",";IFERROR(CHOOSE(RIGHT(--MID(A1;FIND(",";A1)+2;2));"st";"nd";"rd");"th")&",";2)

=SUBSTITUTE(TEXT(--(MID(A1;FIND(",";A1)+2;2)&SUBSTITUTE(MID(TRIM(MID(A1;FIND(",";A1)+4;4));1;3);"ая";"ай")&RIGHT(A1;4));"[$-409]ДДДД, ММММ Д, ГГГГ");",";IFERROR(CHOOSE(RIGHT(--MID(A1;FIND(",";A1)+2;2));"st";"nd";"rd");"th")&",";2)
Изменено: БМВ - 18.09.2020 12:17:53
По вопросам из тем форума, личку не читаю.
 
БМВ, спасибо, я попробую
а если дата в формате "21.11.2020"
А надо "Wednesday, November 21st, 2020" с запятыми.
Изменено: Mst Touch - 18.09.2020 00:35:04
 
Цитата
buchlotnik написал:
так дано ж
ДАТА!
Цитата
Mst Touch написал:
а если дата в формате "21.11.2020"
то я написал. Правда у меня не хватает "st", это может кто подскажет.
 
Цитата
Mst Touch написал:
а если дата в формате "21.11.2020"
то тогда  большаа половина ненужна
=SUBSTITUTE(TEXT(A4;"[$-409]ДДДД, ММММ Д, ГГГГ");",";IFERROR(CHOOSE(RIGHT(DAY(A4));"st";"nd";"rd");"th")&",";2)

а в целом  прикладывайте пример, а то ведь и правда не понятно, у вас там отформатированная дата или текст.
Если нужно отформатировать только нормальную дату то условным форматированием можно воспользоваться.
Изменено: БМВ - 18.09.2020 12:17:39
По вопросам из тем форума, личку не читаю.
 
рискну предположить, что 11-13 должно быть eleventh, twelfth, thirteenth:
Код
=ТЕКСТ(A1;"[$-9]ДДДД, ММММ Д"&ПРОСМОТР(ОСТАТ(ДЕНЬ(A1)-1;ЕСЛИ(ДЕНЬ(A1)>20;10;20))+1;{1;2;3;4};{"st";"\nd";"rd";"th"})&", ГГГГ")
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
eleventh,
да все верно, вечно я про второй десяток забываю. Спасибо что напомнил. Сейчас скорректирую.
Собственно проверка на данной области значений *(ABS(DAY(A4)-12)>1)
Изменено: БМВ - 18.09.2020 12:17:21
По вопросам из тем форума, личку не читаю.
 
Загрузила мой файл. Мои даты введены как фомулы=ДАТА(2020,11, 21),   их надо перевести в 1)"Wednesday, November 21st, 2020" И иногда надо
2) "November 21st".
Я их потом вставляю в файл MS Publisher, Publisher распознает только оригинальное форматирование даты, то есть как формула написана, то Publisher и вставляет. Поэтому мне нужна одна формула, которая покажет дату как мне надо уже в конечном виде: "Wednesday, November 21st, 2020"  и "November 21st
Спасибо  
Изменено: Mst Touch - 18.09.2020 13:21:56
 
Mst Touch, чем не устроили приложенные выше варианты?
Соблюдение правил форума не освобождает от модераторского произвола
 
Это гениальная формула! Спасибо!
А как из этой же фомулы сделать "November 21st"?  Я убрала ДДДД, и, ГГГГ и запятую после скобки, осталось только "February 1"
 
Код
=ТЕКСТ(A1;"[$-9] ММММ Д"&ПРОСМОТР(ОСТАТ(ДЕНЬ(A1)-1;ЕСЛИ(ДЕНЬ(A1)>20;10;20))+1;{1;2;3;4};{"st";"\nd";"rd";"th"}))
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, Михаил, а зачем \nd ??? вроде для наших региональных оно не нужно а для не наших не хватает для остальных , хотя уних совсем не сработает из-за М и Д
ну и пробел лишний [$-9] ММММ наверно

для моего варианта, если включать МШ =TEXT(A2;"[$-9]ММММ Д" &IFERROR(CHOOSE(RIGHT(DAY(A2))*(ABS(DAY(A2)-12)>1);"st";"nd";"rd");"th"))
Изменено: БМВ - 18.09.2020 14:36:56
По вопросам из тем форума, личку не читаю.
 
пробел лишний, а вот с n - какой-то баг, причем воспроизвелся на домашнем и рабочем компах - без \ выдает ЗНАЧ!

я, признаться, полагал, что ты именно из-за этого REPLACE использовал
Соблюдение правил форума не освобождает от модераторского произвола
 
БМВ, Выдаёт ошибку на 22м числе
Buchlotnik - непонятно как формула заканчивается. Я ввела ми st, nd, rdв скобках, затем закрыла фигурными скобками, и пишет- вы ввели слишком много аргументов
Изменено: Mst Touch - 18.09.2020 15:46:02
 
Mst Touch, нам не видно, что и куда вы ввели
Цитата
Mst Touch написал:
непонятно как формула заканчивается
ровно так, как я написал в #14 - проверил, формула без опечаток, единственно, как правильно было сказано - убрать пробел перед месяцем:
Код
=ТЕКСТ(A1;"[$-9]ММММ Д" &
ПРОСМОТР(ОСТАТ(ДЕНЬ(A1)-1;ЕСЛИ(ДЕНЬ(A1)>20;10;20))+1;{1;2;3;4};{"st";"\nd";"rd";"th"}))
Изменено: buchlotnik - 18.09.2020 16:59:07
Соблюдение правил форума не освобождает от модераторского произвола
 
В конце формулы какой-то зелёный вопрос торчит в nd
Изменено: Mst Touch - 18.09.2020 16:38:03
 
теперь не торчит, Mst Touch, а вы что, вручную формулы переписываете?
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
я, признаться, полагал, что ты именно из-за этого REPLACE использовал
нее я просто формат более менее стандартный не стал курочить, а ведь и правда n в нашей локализации портит все и с 2, 22 проблема именно с эти.
Изменено: БМВ - 18.09.2020 21:35:02
По вопросам из тем форума, личку не читаю.
 
хм, а портит не только n - выявил на b e g n
Соблюдение правил форума не освобождает от модераторского произвола
 
ну с e еще более менее понятно  выводит год исходя из числв дней
То с остальными
b форматирует с шагом 366,365 в 43, 44,45....  я как раз 366 школу заканчивал :-)
Изменено: БМВ - 18.09.2020 23:22:35
По вопросам из тем форума, личку не читаю.
 
Самое смешное, что в VBA нет проблем с локализацией символов форматирования:
Код
Sub test()
  Debug.Print Application.Text(Now(), "[$-409]DDDD, MMMM DD, YYYY")
End Sub
Владимир
 
Цитата
БМВ написал:
b форматирует с шагом
bbbb (или bb - 2 последние цифры) - год по тайскому календарю (интуиция Михаила не подводит).
ggge используется для года в японском календаре. Не понял, чем это отличается от григорианского года.

Полезная информация здесь.
Владимир
 
Цитата
sokol92 написал:
Полезная информация  здесь .
Хочу взглянуть в глаза тому кто не позволяет использовать DD.MM.YYYY но учитывает B E G при наших региональных.
По вопросам из тем форума, личку не читаю.
 
Есть ещё потребность дату поставить в"01/01/2020" на первое число каждого года и "11/01" на первое число каждого месяца и просто дату (все остальные) "21" на все остальные дни года с теми же начальными условиями.И с предыдущим форматом "January 1st, 2020", "November 1st" и "21" тоже
Изменено: Mst Touch - 20.09.2020 13:21:05
 
Mst Touch,
Цитата
БМВ написал:
а в целом  прикладывайте пример
Соблюдение правил форума не освобождает от модераторского произвола
 
Я выложила "Dates example" выше 18го сентября  
Изменено: Mst Touch - 20.09.2020 13:31:19
 
Как связан файл из #11 с тем, что написано в #27?
Соблюдение правил форума не освобождает от модераторского произвола
Страницы: 1 2 След.
Наверх