Локализация и как с ней бороться
bmv98rus
Дата: Пятница, 06.01.2017, 14:30 |
Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Нашел только эту тему, но там нет ответа. Собственно вопрос в разнице использования некоторых аргументов в функциях, таких какКод
=text(A1;"DD.MM.YYYY")
Как добится универасльности? Сейчас или в спец ячейке или прям в нужном месте использую например так.Код
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод? Собственно это полезно и для совместимости с open/libre, где синтаксис не зависит от локализации интервейса.
Нашел только эту тему, но там нет ответа. Собственно вопрос в разнице использования некоторых аргументов в функциях, таких какКод
=text(A1;"DD.MM.YYYY")
Как добится универасльности? Сейчас или в спец ячейке или прям в нужном месте использую например так.Код
=if(text(1;"DD")="DD";"ДД.ММ.ГГГГ";"DD.MM.YYYY")
Может есть более штатный метод? Собственно это полезно и для совместимости с open/libre, где синтаксис не зависит от локализации интервейса. bmv98rus
Замечательный Временно просто медведь , процентов на 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
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
Код
=ПРАВБ(0&ДЕНЬ(A1);2)&"."&ПРАВБ(0&МЕСЯЦ(A1);2)&"."&ГОД(A1)
это не решение проблемы - просто вариант
Код
=ПРАВБ(0&ДЕНЬ(A1);2)&"."&ПРАВБ(0&МЕСЯЦ(A1);2)&"."&ГОД(A1)
это не решение проблемы - просто вариантNic70y
ЮMoney 41001841029809
Ответить
Сообщение Код
=ПРАВБ(0&ДЕНЬ(A1);2)&"."&ПРАВБ(0&МЕСЯЦ(A1);2)&"."&ГОД(A1)
это не решение проблемы - просто вариантАвтор - Nic70y Дата добавления - 06.01.2017 в 15:28
bmv98rus
Дата: Пятница, 06.01.2017, 15:59 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Nic70y, а если надо "DDD"/"ДДД" для дня недели, то выбор из массива - составлять текстом результат не совсем хорошая идея. м VBA там хоть раделено на стандартную и локализованную версию формул и форматов.
Nic70y, а если надо "DDD"/"ДДД" для дня недели, то выбор из массива - составлять текстом результат не совсем хорошая идея. м VBA там хоть раделено на стандартную и локализованную версию формул и форматов. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Nic70y, а если надо "DDD"/"ДДД" для дня недели, то выбор из массива - составлять текстом результат не совсем хорошая идея. м VBA там хоть раделено на стандартную и локализованную версию формул и форматов. Автор - bmv98rus Дата добавления - 06.01.2017 в 15:59
Nic70y
Дата: Пятница, 06.01.2017, 16:21 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
под любую задачу можно подобрать формулу. почему? по мне так норм.
под любую задачу можно подобрать формулу. почему? по мне так норм. Nic70y
ЮMoney 41001841029809
Ответить
Сообщение под любую задачу можно подобрать формулу. почему? по мне так норм. Автор - Nic70y Дата добавления - 06.01.2017 в 16:21
bmv98rus
Дата: Пятница, 06.01.2017, 16:44 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Nic70y, естественно. можно, только вот выбор из масива надо с учетом локализации делать Ведь не у всех понедельником понедельник называют :-) и хорошо если языков 2, а если больше?. Вопрос для меня открыт.
Nic70y, естественно. можно, только вот выбор из масива надо с учетом локализации делать Ведь не у всех понедельником понедельник называют :-) и хорошо если языков 2, а если больше?. Вопрос для меня открыт. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Nic70y, естественно. можно, только вот выбор из масива надо с учетом локализации делать Ведь не у всех понедельником понедельник называют :-) и хорошо если языков 2, а если больше?. Вопрос для меня открыт. Автор - bmv98rus Дата добавления - 06.01.2017 в 16:44
Gustav
Дата: Суббота, 07.01.2017, 02:27 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация:
1137
±
Замечаний:
0% ±
начинал с Excel 4.0, видел 2.1
Сейчас или в спец ячейке или прям в нужном месте использую например так. =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 такой формулой в поле "Диапазон": И далее комфортно и наглядно использовать это имя в формулах на листе:Код
=ТЕКСТ(A1; ЕСЛИ(rus; "ДД.ММ.ГГГГ"; "dd.mm.yyyy"))
Или вынести в имя вообще весь шаблон даты, например, datFormat :Код
=ЕСЛИ(ТЕКСТ(;"d")="d"; "ДД.ММ.ГГГГ"; "dd.mm.yyyy")
И далее на листе:
Сейчас или в спец ячейке или прям в нужном месте использую например так. =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 такой формулой в поле "Диапазон": И далее комфортно и наглядно использовать это имя в формулах на листе:Код
=ТЕКСТ(A1; ЕСЛИ(rus; "ДД.ММ.ГГГГ"; "dd.mm.yyyy"))
Или вынести в имя вообще весь шаблон даты, например, datFormat :Код
=ЕСЛИ(ТЕКСТ(;"d")="d"; "ДД.ММ.ГГГГ"; "dd.mm.yyyy")
И далее на листе:Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Сейчас или в спец ячейке или прям в нужном месте использую например так. =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 такой формулой в поле "Диапазон": И далее комфортно и наглядно использовать это имя в формулах на листе:Код
=ТЕКСТ(A1; ЕСЛИ(rus; "ДД.ММ.ГГГГ"; "dd.mm.yyyy"))
Или вынести в имя вообще весь шаблон даты, например, datFormat :Код
=ЕСЛИ(ТЕКСТ(;"d")="d"; "ДД.ММ.ГГГГ"; "dd.mm.yyyy")
И далее на листе:Автор - Gustav Дата добавления - 07.01.2017 в 02:27
krosav4ig
Дата: Суббота, 07.01.2017, 06:04 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
как вариант, можно в диспетчер имен воткнуть Код
Г =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г
как вариант, можно в диспетчер имен воткнуть Код
Г =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);19)
Код
Д =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);21)
Код
М =ИНДЕКС(ПОЛУЧИТЬ.РАБОЧЕЕ.ПРОСТРАНСТВО(37);20)
а в формулу такую кракозябру Код
=Д&Д&"."&М&М&"."&Г&Г&Г&Г
krosav4ig
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
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
ну это уже типамакросы, а вопрос, как я понял о чистоформулах, хотя прикольно
ну это уже типамакросы, а вопрос, как я понял о чистоформулах, хотя прикольно Nic70y
ЮMoney 41001841029809
Ответить
Сообщение ну это уже типамакросы, а вопрос, как я понял о чистоформулах, хотя прикольно Автор - Nic70y Дата добавления - 07.01.2017 в 07:57
bmv98rus
Дата: Суббота, 07.01.2017, 09:34 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Если скрипты есть, то можно конечно вот так На служебном листе форматируешь ячейки как надо. [vba]Код
Function GetFormatLocal(MyCell As Range) As String GetFormatLocal = MyCell.NumberFormatLocal End Function Function GetFormat(MyCell As Range) As String GetFormat = MyCell.NumberFormat End Function
[/vba] ну и натравив на ячейки нужные получить в результате то что нужно. Но как правильно отмечено, хочется обойтись только функциями листа. К слову , что характерно вот это работает не зависимо от языка интерфейса , а это только в русском.
Если скрипты есть, то можно конечно вот так На служебном листе форматируешь ячейки как надо. [vba]Код
Function GetFormatLocal(MyCell As Range) As String GetFormatLocal = MyCell.NumberFormatLocal End Function Function GetFormat(MyCell As Range) As String GetFormat = MyCell.NumberFormat End Function
[/vba] ну и натравив на ячейки нужные получить в результате то что нужно. Но как правильно отмечено, хочется обойтись только функциями листа. К слову , что характерно вот это работает не зависимо от языка интерфейса , а это только в русском. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Суббота, 07.01.2017, 09:36
Ответить
Сообщение Если скрипты есть, то можно конечно вот так На служебном листе форматируешь ячейки как надо. [vba]Код
Function GetFormatLocal(MyCell As Range) As String GetFormatLocal = MyCell.NumberFormatLocal End Function Function GetFormat(MyCell As Range) As String GetFormat = MyCell.NumberFormat End Function
[/vba] ну и натравив на ячейки нужные получить в результате то что нужно. Но как правильно отмечено, хочется обойтись только функциями листа. К слову , что характерно вот это работает не зависимо от языка интерфейса , а это только в русском. Автор - bmv98rus Дата добавления - 07.01.2017 в 09:34
Pelena
Дата: Суббота, 07.01.2017, 11:09 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19185
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
Может, не совсем по теме, но независимо от языка интерфейса работает также такой формат даты [$-F800] Например, формула вернёт длинный формат даты в соответствии с системными настройками
Может, не совсем по теме, но независимо от языка интерфейса работает также такой формат даты [$-F800] Например, формула вернёт длинный формат даты в соответствии с системными настройками Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Может, не совсем по теме, но независимо от языка интерфейса работает также такой формат даты [$-F800] Например, формула вернёт длинный формат даты в соответствии с системными настройками Автор - Pelena Дата добавления - 07.01.2017 в 11:09
bmv98rus
Дата: Суббота, 07.01.2017, 13:54 |
Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Pelena, интересно тоже. Есть ли где описание этаких скрытых от людского глаза форматов?
Pelena, интересно тоже. Есть ли где описание этаких скрытых от людского глаза форматов? bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Pelena, интересно тоже. Есть ли где описание этаких скрытых от людского глаза форматов? Автор - bmv98rus Дата добавления - 07.01.2017 в 13:54
Pelena
Дата: Суббота, 07.01.2017, 14:21 |
Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 19185
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
Я перелопатила довольно много материала, когда писала статью про Пользовательский формат . В частности в ней есть и про этот формат
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Я перелопатила довольно много материала, когда писала статью про Пользовательский формат . В частности в ней есть и про этот формат Автор - Pelena Дата добавления - 07.01.2017 в 14:21
bmv98rus
Дата: Суббота, 07.01.2017, 15:12 |
Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Pelena, а "на русском языке одним из таких кодов является [$-FC19], на украинском [$-FC22], на белорусском [$-FC23]." сами или от куда вычитали. Я просто первым делом вычел из FC19 F800 и получил привычные 1049 в десятично, ну и 1058 ... соотвтевенно . Это я к тому что попробую копнуть в этом направлении.
Pelena, а "на русском языке одним из таких кодов является [$-FC19], на украинском [$-FC22], на белорусском [$-FC23]." сами или от куда вычитали. Я просто первым делом вычел из FC19 F800 и получил привычные 1049 в десятично, ну и 1058 ... соотвтевенно . Это я к тому что попробую копнуть в этом направлении. bmv98rus
Замечательный Временно просто медведь , процентов на 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19185
Репутация:
4420
±
Замечаний:
±
Excel 365 & Mac Excel
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
bmv98rus
Дата: Понедельник, 11.06.2018, 13:48 |
Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4108
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Замечательный Временно просто медведь , процентов на 20 .
Ответить