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

 

= Мир MS Excel/Локализация и как с ней бороться - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Локализация и как с ней бороться
bmv98rus Дата: Пятница, 06.01.2017, 14:30 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Нашел только эту тему, но там нет ответа.

Собственно вопрос в разнице использования некоторых аргументов в функциях, таких как
=text(A1;"DD.MM.YYYY")
Как добится универасльности? Сейчас или в спец ячейке или прям в нужном месте использую например так.
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод? Собственно это полезно и для совместимости с open/libre, где синтаксис не зависит от локализации интервейса.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 06.01.2017, 15:53
 
Ответить
СообщениеНашел только эту тему, но там нет ответа.

Собственно вопрос в разнице использования некоторых аргументов в функциях, таких как
=text(A1;"DD.MM.YYYY")
Как добится универасльности? Сейчас или в спец ячейке или прям в нужном месте использую например так.
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод? Собственно это полезно и для совместимости с open/libre, где синтаксис не зависит от локализации интервейса.

Автор - bmv98rus
Дата добавления - 06.01.2017 в 14:30
Nic70y Дата: Пятница, 06.01.2017, 15:28 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
=ПРАВБ(0&ДЕНЬ(A1);2)&"."&ПРАВБ(0&МЕСЯЦ(A1);2)&"."&ГОД(A1)
это не решение проблемы - просто вариант


ЮMoney 41001841029809
 
Ответить
Сообщение
=ПРАВБ(0&ДЕНЬ(A1);2)&"."&ПРАВБ(0&МЕСЯЦ(A1);2)&"."&ГОД(A1)
это не решение проблемы - просто вариант

Автор - Nic70y
Дата добавления - 06.01.2017 в 15:28
bmv98rus Дата: Пятница, 06.01.2017, 15:59 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Nic70y,

а если надо "DDD"/"ДДД" для дня недели, то выбор из массива - составлять текстом результат не совсем хорошая идея. м VBA там хоть раделено на стандартную и локализованную версию формул и форматов.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеNic70y,

а если надо "DDD"/"ДДД" для дня недели, то выбор из массива - составлять текстом результат не совсем хорошая идея. м VBA там хоть раделено на стандартную и локализованную версию формул и форматов.

Автор - bmv98rus
Дата добавления - 06.01.2017 в 15:59
Nic70y Дата: Пятница, 06.01.2017, 16:21 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
под любую задачу можно подобрать формулу.
Цитата bmv98rus, 06.01.2017 в 15:59, в сообщении № 3 ( писал(а)):
не совсем хорошая идея
почему? по мне так норм.


ЮMoney 41001841029809
 
Ответить
Сообщениепод любую задачу можно подобрать формулу.
Цитата bmv98rus, 06.01.2017 в 15:59, в сообщении № 3 ( писал(а)):
не совсем хорошая идея
почему? по мне так норм.

Автор - Nic70y
Дата добавления - 06.01.2017 в 16:21
bmv98rus Дата: Пятница, 06.01.2017, 16:44 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Nic70y,
естественно. можно, только вот выбор из масива надо с учетом локализации делать Ведь не у всех понедельником понедельник называют :-) и хорошо если языков 2, а если больше?. Вопрос для меня открыт.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеNic70y,
естественно. можно, только вот выбор из масива надо с учетом локализации делать Ведь не у всех понедельником понедельник называют :-) и хорошо если языков 2, а если больше?. Вопрос для меня открыт.

Автор - bmv98rus
Дата добавления - 06.01.2017 в 16:44
Gustav Дата: Суббота, 07.01.2017, 02:27 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Цитата Nic70y, 06.01.2017 в 15:28, в сообщении № 2 ( писал(а)):
Сейчас или в спец ячейке или прям в нужном месте использую например так.
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод?

А что, вполне нормальный способ. Сам поступаю аналогично: http://www.excelworld.ru/forum/6-24041-188729-16-1465305111

И можно сократиться до одной буковки d и вместо 1 использовать 0, который можно вообще не указывать:
=ЕСЛИ(ТЕКСТ(;"d")="d"; "русская раскладка"; "латинская раскладка")


Наконец, можно условие засунуть в имя, которое по Ctrl+F3, например, rus c такой формулой в поле "Диапазон":
=ТЕКСТ(;"d")="d"

И далее комфортно и наглядно использовать это имя в формулах на листе:
=ТЕКСТ(A1; ЕСЛИ(rus; "ДД.ММ.ГГГГ"; "dd.mm.yyyy"))


Или вынести в имя вообще весь шаблон даты, например, datFormat:
=ЕСЛИ(ТЕКСТ(;"d")="d"; "ДД.ММ.ГГГГ"; "dd.mm.yyyy")

И далее на листе:
=ТЕКСТ(A1; datFormat)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата Nic70y, 06.01.2017 в 15:28, в сообщении № 2 ( писал(а)):
Сейчас или в спец ячейке или прям в нужном месте использую например так.
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод?

А что, вполне нормальный способ. Сам поступаю аналогично: http://www.excelworld.ru/forum/6-24041-188729-16-1465305111

И можно сократиться до одной буковки d и вместо 1 использовать 0, который можно вообще не указывать:
=ЕСЛИ(ТЕКСТ(;"d")="d"; "русская раскладка"; "латинская раскладка")


Наконец, можно условие засунуть в имя, которое по Ctrl+F3, например, rus c такой формулой в поле "Диапазон":
=ТЕКСТ(;"d")="d"

И далее комфортно и наглядно использовать это имя в формулах на листе:
=ТЕКСТ(A1; ЕСЛИ(rus; "ДД.ММ.ГГГГ"; "dd.mm.yyyy"))


Или вынести в имя вообще весь шаблон даты, например, datFormat:
=ЕСЛИ(ТЕКСТ(;"d")="d"; "ДД.ММ.ГГГГ"; "dd.mm.yyyy")

И далее на листе:
=ТЕКСТ(A1; datFormat)

Автор - Gustav
Дата добавления - 07.01.2017 в 02:27
krosav4ig Дата: Суббота, 07.01.2017, 06:04 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант, можно в диспетчер имен воткнуть
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
=Д&Д&"."&М&М&"."&Г&Г&Г&Г


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 07.01.2017, 06:05
 
Ответить
Сообщениекак вариант, можно в диспетчер имен воткнуть
Г    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Д    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
М    =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру
=Д&Д&"."&М&М&"."&Г&Г&Г&Г

Автор - krosav4ig
Дата добавления - 07.01.2017 в 06:04
Nic70y Дата: Суббота, 07.01.2017, 07:57 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Цитата krosav4ig, 07.01.2017 в 06:04, в сообщении № 7 ( писал(а)):
в диспетчер имен
ну это уже типамакросы,
а вопрос, как я понял о чистоформулах,
хотя прикольно


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата krosav4ig, 07.01.2017 в 06:04, в сообщении № 7 ( писал(а)):
в диспетчер имен
ну это уже типамакросы,
а вопрос, как я понял о чистоформулах,
хотя прикольно

Автор - Nic70y
Дата добавления - 07.01.2017 в 07:57
bmv98rus Дата: Суббота, 07.01.2017, 09:34 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Если скрипты есть, то можно конечно вот так
На служебном листе форматируешь ячейки как надо.

Function GetFormatLocal(MyCell As Range) As String
    GetFormatLocal = MyCell.NumberFormatLocal
End Function

Function GetFormat(MyCell As Range) As String
    GetFormat = MyCell.NumberFormat
End Function

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

К слову , что характерно вот это
=ЯЧЕЙКА("address";A1)
работает не зависимо от языка интерфейса , а это
=ЯЧЕЙКА("адрес";A1)
только в русском.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 07.01.2017, 09:36
 
Ответить
СообщениеЕсли скрипты есть, то можно конечно вот так
На служебном листе форматируешь ячейки как надо.
[vba]
Function GetFormatLocal(MyCell As Range) As String    GetFormatLocal = MyCell.NumberFormatLocalEnd FunctionFunction GetFormat(MyCell As Range) As String    GetFormat = MyCell.NumberFormatEnd Function
[/vba] ну и натравив на ячейки нужные получить в результате то что нужно.
Но как правильно отмечено, хочется обойтись только функциями листа.

К слову , что характерно вот это
=ЯЧЕЙКА("address";A1)
работает не зависимо от языка интерфейса , а это
=ЯЧЕЙКА("адрес";A1)
только в русском.

Автор - bmv98rus
Дата добавления - 07.01.2017 в 09:34
Pelena Дата: Суббота, 07.01.2017, 11:09 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
Может, не совсем по теме, но
Цитата bmv98rus, 07.01.2017 в 09:34, в сообщении № 9 ( писал(а)):
К слову

независимо от языка интерфейса работает также такой формат даты [$-F800]
Например, формула
=ТЕКСТ(A1;"[$-F800]")

вернёт длинный формат даты в соответствии с системными настройками


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожет, не совсем по теме, но
Цитата bmv98rus, 07.01.2017 в 09:34, в сообщении № 9 ( писал(а)):
К слову

независимо от языка интерфейса работает также такой формат даты [$-F800]
Например, формула
=ТЕКСТ(A1;"[$-F800]")

вернёт длинный формат даты в соответствии с системными настройками

Автор - Pelena
Дата добавления - 07.01.2017 в 11:09
bmv98rus Дата: Суббота, 07.01.2017, 13:54 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Pelena,

Цитата Pelena, 07.01.2017 в 11:09, в сообщении № 10 ( писал(а)):
[$-F800]
интересно тоже. Есть ли где описание этаких скрытых от людского глаза форматов?


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеPelena,

Цитата Pelena, 07.01.2017 в 11:09, в сообщении № 10 ( писал(а)):
[$-F800]
интересно тоже. Есть ли где описание этаких скрытых от людского глаза форматов?

Автор - bmv98rus
Дата добавления - 07.01.2017 в 13:54
Pelena Дата: Суббота, 07.01.2017, 14:21 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
Я перелопатила довольно много материала, когда писала статью про Пользовательский формат. В частности в ней есть и про этот формат


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЯ перелопатила довольно много материала, когда писала статью про Пользовательский формат. В частности в ней есть и про этот формат

Автор - Pelena
Дата добавления - 07.01.2017 в 14:21
bmv98rus Дата: Суббота, 07.01.2017, 15:12 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Pelena,

а "на русском языке одним из таких кодов является [$-FC19], на украинском [$-FC22], на белорусском [$-FC23]." сами или от куда вычитали. Я просто первым делом вычел из FC19 F800 и получил привычные 1049 в десятично, ну и 1058 ... соотвтевенно . Это я к тому что попробую копнуть в этом направлении.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 07.01.2017, 15:21
 
Ответить
СообщениеPelena,

а "на русском языке одним из таких кодов является [$-FC19], на украинском [$-FC22], на белорусском [$-FC23]." сами или от куда вычитали. Я просто первым делом вычел из FC19 F800 и получил привычные 1049 в десятично, ну и 1058 ... соотвтевенно . Это я к тому что попробую копнуть в этом направлении.

Автор - bmv98rus
Дата добавления - 07.01.2017 в 15:12
Pelena Дата: Суббота, 07.01.2017, 15:55 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
вычитала на sql.ru
http://www.sql.ru/forum....2070005
там файлик есть с кодами, посмотрите


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениевычитала на sql.ru
http://www.sql.ru/forum....2070005
там файлик есть с кодами, посмотрите

Автор - Pelena
Дата добавления - 07.01.2017 в 15:55
bmv98rus Дата: Понедельник, 11.06.2018, 13:48 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Тут случайно наткнулся https://msdn.microsoft.com/en-us/library/mt474322(v=office.12).aspx
Ну это конечно можно выяснить и так, посмотрев через мастер форматирования, но как то понимать что делаешь лучше чем просто копировать.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеТут случайно наткнулся https://msdn.microsoft.com/en-us/library/mt474322(v=office.12).aspx
Ну это конечно можно выяснить и так, посмотрев через мастер форматирования, но как то понимать что делаешь лучше чем просто копировать.

Автор - bmv98rus
Дата добавления - 11.06.2018 в 13:48
  • Страница 1 из 1
  • 1
Поиск:

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