вторник, 17 август 2010 г.

#013 Петък 13 или локализация на датите:)

Когато писах предишния пример за датите се сетих за петък 13-ти,който беше скоро, и за един много познат проблем. Как да се изобрази с думи деня от седмицата. Разбира се всеки петокласник би трябвало да се сети за функцията Text :) =Text(дата, "dddd"). По-сложно става ако искаме ВИНАГИ текстът да е български (или друг конкретен език). Посочения пример има един дефект, че се влияе от текущата локализация на Excel.
Като лирично отклонение с цел да прочетете и за други функции може да предложа едно сложно решение.... =CHOOSE(WEEKDAY(A1,2),"понеделник","вторник", "сряда", "четвъртък", "петък", "събота","неделя")
Всъщност този пример го давам на студентите когато обяснявам Choose и Weekday... Но да си призная си е и за запълване на повече време в часа ми докато студентите търсят проклинайки ме  (мен и Кирил и Методий) буквите по клавиатурата:)) 
Но да се върнем към нашия проблем с локализацията. Всъщност пред форматиращия стринг може да се постави указател за локализация. Например =TEXT(NOW(),"[$- локален_код]dddd"). Трикът е в числото в скобите. Списък на стойностите може да вземете от адрес http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx. Стойността вземате от втората колонка в посочената таблица.

Ми това е... Да проверим: =TEXT("13/8/2010","[$-402]dddd").  Може и на македонски ;) : =TEXT("13/8/2010","[$- 042f]dddd")

Enjoy :)

Няма коментари:

Публикуване на коментар