Трюк №72. Как в Excel 2010 добавить расширение данных
В Excel предусмотрено множество различных форматов даты, которые можно использовать для ее отображения. Однако одного формата всегда не хватало (и он все так же не существует) — возможности отображать даты как 15th October 2003. Если это необходимо, можно научить Excel выводить дату в таком формате.
В Excel нет такого формата, чтобы после числа 15 выводились буквы «th». Что хуже всего, насколько мы знаем: невозможно определить пользовательский формат вывода даты в таком стиле. Хотя большинство людей просто мирятся с тем, что это невозможно, мы придумали способ, как этого добиться.
На чистом рабочем листе, начиная с ячейки А1, введите следующие данные: Al=st, A2=nd, A3=rd, A4:A20=th, A21=st, A22=nd, A23=rd, A24:A30=th, A31=st. Присвойте этому диапазону имя Extensions, а затем выберите команду Формулы → Присвоить имя (Formulas → Define Name) и в поле Имя (Names in workbook) введите MyToday. В поле Формула (Refers to) введите следующую формулу: =TEXT(TODAY();»dddd d»)&INDEX(Extensions;DAY(TODAY());1)&TEXT(TODAY();»mmmm yyyy»), в русской версии Excel =ТЕКСТ(СЕГОДНЯ();»дддд д»)&ИНДЕКС(Extensions;ДЕНЬ(СЕГОДНЯ());1)&ТЕКСТ(СЕГОДНЯ();»мммм гггг» ). Щелкните на кнопке Добавить (Add), затем щелкните на кнопке ОК. Теперь в любой ячейке введите =MyToday, и текущая дата будет выведена в формате Thursday 16th October 2003.
Если вы не хотите хранить расширения даты, то есть th, st, rd и nd в ячейках на рабочем листе, можно использовать функцию ВЫБОР (CHOOSE). Для этого выберите команду Формулы → Присвоить имя (Formulas → Define Name) и в поле Имя (Names in workbook) введите Day. В поле Формула (Refers to) введите следующую формулу: =DAY(TODAY()), в русской версии Excel =ДЕНЬ(СЕГОДНЯ()). Щелкните на кнопке Добавить (Add). Вернитесь в поле Имя (Names in workbook) и введите слово MyToday. В поле Формула (Refers to) введите следующую формулу и щелкните на кнопке Добавить (Add): =TEXT(TODAY();»ddddd»)&IF(Day=31;»st»;IF(Day=30;»th»;CHOOSE(Day;»st»;»nd»;»rd»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»st»;»nd»;»rd»;»th»;»th»;»th»;»th»;»th»;»th»)))& TEXT(TODAY();»mmmm yyyy»), в русской версии Excel =ТЕКСТ(СЕГОДНЯ();»дддд д»)&ЕСЛИ(Dау=31;»st»;ЕСЛИ(Dау=30;»th»;ВЫБОР(Day;»st»;»nd»;»rd»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»th»;»st»;»nd»;»rd»;»th»;»th»;»th»;»th»;»th»;»th»)))&ТЕКСТ(СЕГОДНЯ();»мммм гггг»). После щелчка на кнопке OK в любую ячейку можно будет ввести =MyToday, и вы увидите дату в этом формате.
[stextbox id=»alert»]Дата, которую вернет любая из этих функций, не будет настоящим числовым значением, это будет просто текстовая запись, на которую нельзя будет сослаться из формулы, ожидающей числовые данные.[/stextbox]