Форматирование чисел в виде значений даты и времени
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
Когда вы введите дату или время в ячейку, она отображается в формате даты и времени по умолчанию. Этот формат по умолчанию основан на региональных параметрах даты и времени, заданных на панели управления, и изменяется при их настройке на панели управления. Числа можно отобразить в нескольких других форматах даты и времени, на большинство из которых параметры панели управления не влияют.
В этой статье
-
Отображение чисел в качестве даты или времени
-
Создание пользовательского формата даты или времени
-
Советы для отображения дат и времени
Отображение чисел в качестве даты или времени
Вы можете форматирование даты и времени по мере их ввести. Например, если ввести в ячейку 2/2, Excel будет автоматически интерпретирован как дата и отобразит в ячейке 02.фев. Если это не то, что вам нужно (например, если вы хотите, чтобы в ячейке были 2 февраля 2009 г. или 02.02.09), в диалоговом окне Формат ячеек можно выбрать другой формат даты, как покажем в следующей процедуре. Аналогично, если ввести в ячейку 9:30 a или 9:30 p, Excel интерпретирует это как время и отображает 9:30 или 21:30. Вы также можете настроить способ времени в диалоговом окне Формат ячеек.
-
На вкладке Главная в группе Число нажмите кнопку вызова диалогового окна, расположенную рядом с надписью Число.
Вы также можете нажать CTRL+1, чтобы открыть диалоговое окно Формат ячеек.
-
В списке Категория выберите дата иливремя.
-
В списке Тип выберите нужный формат даты или времени.
Примечание: Форматы даты и времени, которые начинаются со звездочки (*), отвечают на изменения в региональных параметрах даты и времени, заданных на панели управления. На форматы без звездочки параметры, заданные на панели управления, не влияют.
-
Чтобы отобразить даты и время в формате других языков, выберите нужный язык в поле Языковой стандарт (расположение).
Число в активной ячейке выбранного на этом сайте отображается в поле Образец, чтобы можно было просмотреть выбранные параметры форматирования.
К началу страницы
Создание пользовательского формата даты или времени
-
На вкладке Главная нажмите кнопку вызова диалогового окна рядом с именем группы Число.
Вы также можете нажать CTRL+1, чтобы открыть диалоговое окно Формат ячеек.
-
В поле Категория выберите дата или время ,а затем выберите числовом формате, наиболее близком по стилю к тому, который вы хотите создать. (При создании пользовательских числных форматов проще начать с существующего, чем с нуля.)
-
В списке Категория выберите пункт (все форматы). В поле Тип вы увидите код формата, совпадающий с форматом даты или времени, выбранным на шаге 3. Встроенный формат даты или времени нельзя изменить или удалить, поэтому не беспокойтесь о переописи.
-
В поле Тип введите необходимые изменения формата. Вы можете использовать любой из кодов в следующих таблицах:
Дни, месяцы и годы
Для отображения |
Используйте код |
---|---|
Месяцев в виде чисел от 1 до 12 |
м |
Месяцев в виде чисел от 01 до 12 |
мм |
Месяцев в виде «янв», …, «дек» |
ммм |
Месяцев в виде «январь», …, «декабрь» |
мммм |
Месяцев в виде первой буквы месяца |
ммммм |
Дней в виде чисел от 1 до 31 |
д |
Дней в виде чисел от 01 до 31 |
дд |
Дней в виде «Пн», …, «Вс» |
ддд |
Дней в виде «понедельник», …, «воскресенье» |
дддд |
Лет в виде чисел от 00 до 99 |
гг |
Лет в виде чисел от 1900 до 9999 |
гггг |
Если вы используете «м» сразу после кода «ч» или «чч» или непосредственно перед кодом «сс», Excel отображает минуты вместо месяца.
Часы, минуты и секунды
Для отображения |
Используйте код |
---|---|
Часы в качестве 0–23 |
ч |
Часы в качестве 00–23 |
чч |
Минуты в качестве 0–59 |
м |
Минуты в качестве 00–59 |
мм |
Секунды в качестве 0–59 |
с |
Секунды в качестве 00–59 |
ss |
Часы с 04:00 до 04:0 |
ч |
Время: 16:36 |
ч:мм |
Время в 4:36:03 P |
ч:мм:сс |
Заслон времени в часах; например, 25,02 |
[ч]:мм |
Заслон времени в минутах; например, 63:46 |
[мм]:сс |
За считанные секунды |
[сс] |
Доля секунды |
ч:мм:сс,00 |
AM и PM Если формат содержит am или PM, часы основаны на 12-часовом формате, где «AM» или «A» указывает время от полуночи до полудня, а «PM» или «P» — время от полудня до полуночи. В противном случае используется 24-часовой цикл. Код «м» или «мм» должен отображаться сразу после кода «ч» или «чч» или непосредственно перед кодом «сс»; в противном Excel отображается месяц, а не минуты.
Создавать пользовательские числовые форматы может быть непросто, если вы этого еще не сделали. Дополнительные сведения о создании пользовательских числных форматов см. в теме Создание и удаление пользовательских числов.
К началу страницы
Советы для отображения дат и времени
-
Чтобы быстро использовать стандартный формат даты или времени, щелкните ячейку с датой или временем и нажмите CTRL+SHIFT+# или CTRL+SHIFT+@.
-
Если после применения к ячейке формата даты или времени в ней отображаются ####, вероятно, ширины ячейки недостаточно для отображения данных. Чтобы увеличить ширину столбца, дважды щелкните правую границу столбца, содержащего ячейки. Ширина столбца будет автоматически изменена таким образом, чтобы вместить содержимое ячеек. Можно также перетащить правую границу столбца до необходимой ширины.
-
При попытке отменить формат даты или времени с помощью выбора в списке Категория общего Excel отображает числовом коде. При повторном вводе даты или времени Excel формат даты или времени по умолчанию. Чтобы ввести определенный формат даты или времени, например январь 2010г., можно отформать его как текст, выбрав текст в списке Категория.
-
Чтобы быстро ввести текущую дату, выйдите из любой пустой ячейки и нажмите CTRL+; (точка с за semicolon) и при необходимости нажмите ввод. Чтобы вставить дату, которая будет обновляться до текущей даты при каждом повторном повторном пересчете или пересчете формулы, введите =СЕГОДНЯ() в пустую ячейку и нажмите ввод.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Skip to content
Это руководство посвящено форматированию даты в Excel и объясняет, как установить вид даты и времени по умолчанию, как изменить их формат и создать собственный.
Помимо чисел, наиболее распространенными типами данных, которые используются в Excel, являются дата и время. Однако работать с ними может быть довольно сложно:
- Одна и та же дата может отображаться различными способами,
- Excel всегда хранит дату в одном и том же виде, независимо от того, как вы оформили её представление.
Более глубокое знание форматов временных показателей поможет вам сэкономить массу времени. И это как раз цель нашего подробного руководства. Мы сосредоточимся на следующих моментах:
- Что такое формат даты
- Формат даты по умолчанию
- Как поменять формат даты
- Как изменить язык даты
- Создание собственного формата отображения даты
- Дата в числовом формате
- Формат времени
- Время в числовом формате
- Создание пользовательского формата времени
- Формат Дата — Время
- Почему не работает? Проблемы и их решение.
Формат даты в Excel
Прежде всего нужно чётко уяснить, как Microsoft Excel хранит дату и время. Часто это – основной источник путаницы. Хотя вы ожидаете, что он запоминает день, месяц и год, но это работает не так …
Excel хранит даты как последовательные числа, и только форматирование ячейки приводит к тому, что число отображается как дата, как время или и то, и другое вместе.
Дата в Excel
Все даты хранятся в виде целых чисел, обозначающих количество дней с 1 января 1900 г. (записывается как 1) до 31 декабря 9999 г. (сохраняется как 2958465).
В этой системе:
- 2 — 2 января 1900 г.
- 44197 — 1 января 2021 г. (потому что это 44 197 дней после 1 января 1900 г.)
Время в Excel
Время хранится в виде десятичных дробей от 0,0 до 0,99999, которые представляют собой долю дня, где 0,0 — 00:00:00, а 0,99999 — 23:59:59.
Например:
- 0.25 — 06:00
- 0.5 — 12:00.
- 0.541655093 это 12:59:59.
Дата и время в Excel
Дата и время хранятся в виде десятичных чисел, состоящих из целого числа, представляющего день, месяц и год, и десятичной части, представляющей время.
Например: 44197.5 — 1 января 2021 г., 12:00.
Формат даты по умолчанию в Excel и как его быстро изменить
Краткий и длинный форматы даты, которые как раз и установлены по умолчанию как основные, извлекаются из региональных настроек Windows. Они отмечены звездочкой (*) в диалоговом окне:
Они изменяются, как только вы меняете настройки даты и времени в панели управления Windows.
Если вы хотите установить другое представление даты и/или времени по умолчанию на своем компьютере, например, изменить их с американского на русское, перейдите в Панель управления и нажмите “Региональные стандарты» > «Изменение форматов даты, времени и чисел» .
На вкладке Форматы выберите регион, а затем установите желаемое отображение, щелкнув стрелку рядом с пунктом, который вы хотите изменить, и выбрав затем наиболее подходящий из раскрывающегося списка:
Если вас не устраивают варианты, предложенные на этой вкладке, нажмите кнопку “Дополнительные параметры» в нижней правой части диалогового окна. Откроется новое окно “Настройка …”, в котором вы переключаетесь на вкладку “Дата” и вводите собственный краткий или длинный формат в соответствующее поле.
Как быстро применить форматирование даты и времени по умолчанию
Как мы уже уяснили, в Microsoft Excel есть два формата даты и времени по умолчанию — короткий и длинный.
Чтобы быстро изменить один из них, сделайте следующее:
- Выберите даты, которые хотите отформатировать.
- На вкладке «Главная» в группе «Число» щелкните маленькую стрелку рядом с полем “Формат числа» и выберите нужный пункт — краткую дату, длинную или же время.
Если вам нужны дополнительные параметры форматирования, либо выберите “Другие числовые форматы» из раскрывающегося списка, либо нажмите кнопку запуска диалогового окна рядом с “Число».
Откроется знакомое диалоговое окно “Формат ячеек”, в котором вы сможете изменить любые нужные вам параметры. Об этом и пойдёт речь далее.
Как изменить формат даты в Excel
Даты могут отображаться разными способами. Когда дело доходит до изменения их вида для данной ячейки или диапазона, самый простой способ — открыть диалоговое окно ”Формат ячеек” и выбрать один из имеющихся там стандартных вариантов.
- Выберите данные, которые вы хотите изменить, или пустые ячейки, в которые вы хотите вставить даты.
- Нажмите
Ctrl + 1
, чтобы открыть диалоговое окно «Формат ячеек». Кроме того, вы можете кликнуть выделенные ячейки правой кнопкой мыши и выбрать этот пункт в контекстном меню. - В окне “Формат ячеек» перейдите на вкладку “Число” и выберите “Дата» в списке числовых форматов.
- В разделе “Тип» выберите наиболее подходящий для вас вариант. После этого в поле “Образец» отобразится предварительный просмотр в выбранном варианте оформления.
- Если вас устраивает то, что вы увидели, нажмите кнопку ОК, чтобы сохранить изменение и закрыть окно.
Если, несмотря на ваши усилия, отображение числа, месяца и года в вашей таблице не меняется, скорее всего, ваши данные записаны как текст, и вам сначала нужно преобразовать их в формат даты.
Как сменить язык даты.
Если у вас есть файл, полный иностранных дат, вы, скорее всего, захотите изменить их те, которые используются в вашей стране. Допустим, вы хотите преобразовать американский формат (месяц/день/год) в европейский стиль (день/месяц/год).
Самый простой способ сделать это заключается в следующем:
- Выберите столбец, который вы хотите преобразовать в другой язык.
- Используйте комбинацию
Ctrl + 1
, чтобы открыть знакомые нам настройки. - Выберите нужный язык в выпадающем списке «Язык (местоположение)» и нажмите «ОК», чтобы сохранить изменения.
Создание пользовательского формата даты.
Если вам не подходит ни один из стандартных вариантов, вы можете создать свой собственный.
- На листе выделите нужные ячейки.
- Нажмите
Ctrl + 1
. - На вкладке Число выберите Все форматы в списке и запишите нужный формат даты в поле Тип. Это показано на скриншоте ниже.
- Щелкните ОК, чтобы сохранить изменения.
При настройке пользовательского формата даты вы можете использовать следующие коды.
Код | Описание | Пример |
м | Номер месяца без нуля в начале | 1 |
мм | Номер месяца с нулем в начале | 01 |
ммм | Название месяца, краткая форма | Янв |
мммм | Название месяца, полная форма | Январь |
ммммм | Первая буква месяца | М (обозначает март и май) |
д | Номер дня без нуля в начале | 1 |
дд | Номер дня с нулем в начале | 01 |
ддд | День недели, краткая форма | Пн |
дддд | День недели, полная форма | понедельник |
гг | Год (последние 2 цифры) | 05 |
гггг | Год (4 цифры) | 2020 |
Можно также использовать дополнительные коды, которые обязательно нужно заключать в квадратные скобки [].
Код | Пояснение |
x-sysdate | Системный длинный формат. Месяц в родительном падеже. |
x-systime | Системное время. |
x-genlower | Используется родительный падеж в нижнем регистре для любых полных названий месяцев (только для русского языка). Рекомендуется использовать вместе с кодом языка [ru-RU-x-genlower]. |
x-genupper | Используется родительный падеж в верхнем регистре для любых полных названий месяцев (только на русском языке). Например, [ru-RU-x-genupper]. |
x-nomlower | Для любых полных названий месяцев применяется именительный падеж в нижнем регистре (только на русском языке): [ru-RU-x-nomlower]. |
Вот как это может выглядеть на примерах:
При создании пользовательского формата в Excel вы можете использовать запятую (,), тире (-), косую черту (/), двоеточие (:) и другие символы.
Как создать собственный формат даты для другого языка
Если вы хотите отображать даты на другом языке, не меняя региональные настройки своего Windows, придётся создать собственный формат и использовать специальный префикс с соответствующим кодом языкового стандарта.
Код языка должен быть заключен в [квадратные скобки] и предваряться знаком доллара ($) и тире (-). Вот несколько примеров:
- [$-419] — Россия
- [$-409] – английский (США)
- [$-422] — Украина
- [$-423] — Беларусь
- [$-407] — Германия
Вы можете найти полный список кодов языков в этом блоге.
Например, вот как это можно настроить для белорусского языка в формате времени -день-месяц-год (день недели) :
Как показать число вместо даты.
Если вы хотите узнать, какое число представляет определенную дату или время, отображаемые в ячейке, вы можете сделать это двумя способами.
1. Диалоговое окно «Форматирование ячеек»
Выделите эту ячейку, нажмите Ctrl + 1
, чтобы открыть знакомое нам окно настроек и переключиться на вкладку «Общие».
Если вы просто хотите узнать число, стоящее за датой, ничего не меняя в вашей таблице, то запишите число, которое вы видите в поле «Образец», и нажмите “Отмена», чтобы закрыть окно. Если вы хотите заменить дату числом в текущей ячейке, нажмите ОК.
Вы также можете выбрать формат «Общий» на ленте в разделе «Число». Дата будет тут же заменена соответствующим ей числом.
2. Функции ДАТАЗНАЧ и ВРЕМЗНАЧ
Можно также использовать функцию ДАТАЗНАЧ(), для преобразования даты в соответствующее ей число
=ДАТАЗНАЧ(«20/1/2021»)
Используйте функцию ВРЕМЗНАЧ(), чтобы получить десятичную дробь, представляющую время
=ВРЕМЗНАЧ(«16:30»)
Чтобы узнать дату и время, объедините эти две функции следующим образом:
= ДАТАЗНАЧ(«20/1/2021») & ВРЕМЗНАЧ(«16:30»)
Получится записанное в виде текста число, соответствующее дате-времени.
А если применить операцию сложения –
= ДАТАЗНАЧ(«20/1/2021») + ВРЕМЗНАЧ(«16:30»)
То получим число, которое можно отформатировать в виде даты-времени и с которым можно производить математические операции (найти разность дат и т.п.)
Если вы запишете, скажем, 31.12.1812, то это будет текстовое значение, а не дата. Это означает, что вы не сможете выполнять обычные арифметические операции с ней. Чтобы убедиться в этом, можете ввести формулу =ДАТАЗНАЧ(«31/12/1812») в какую-нибудь ячейку, и вы получите ожидаемый результат — ошибку #ЗНАЧ!.
Формат времени в Excel
Если помните, выше мы уже говорили, что Excel обрабатывает время как часть дня, и время сохраняется как десятичная часть.
Например:
- 00:00:00 сохраняется как 0,0
- 23:59:59 сохраняется как 0,99999
- 06:00 — 0,25
- 12:00 — 0,5
Когда в ячейку вводятся и дата, и время, они сохраняются как десятичное число, состоящее из целой части, представляющего дату, и десятичной части, представляющей время.
Формат времени по умолчанию.
При изменении формата времени в диалоговом окне ”Формат ячеек” вы могли заметить, что один из пунктов начинается со звездочки (*). Это формат времени по умолчанию в вашем Excel. Как и в случае с датой, он определяется региональными настройками Windows.
Чтобы быстро применить формат времени по умолчанию к выбранной ячейке или диапазону ячеек, щелкните стрелку раскрывающегося списка в группе Число на вкладке Главная и выберите Время.
Изменить формат времени по умолчанию, перейдите в Панель управления и перейдите “Региональные стандарты» > «Изменение форматов даты, времени и чисел». Подробно мы этот процесс описали выше, когда рассматривали установки параметров даты по умолчанию.
Десятичное представление времени.
Быстрый способ выбрать десятичное число, представляющее определенное время, — использовать диалоговое окно ”Формат ячеек”.
Просто выберите ячейку, содержащую время, и нажмите Ctrl + 1, чтобы открыть окно настроек. На вкладке “Число” выберите “Общие» в разделе “Категория», и вы увидите десятичную дробь в поле “Образец».
Теперь вы можете записать это число и нажать “Отмена», чтобы закрыть окно. Или же нажмите OK и замените время соответствующим десятичным числом в ячейке.
Фактически это самый быстрый, простой и не требующий формул способ преобразования времени в десятичное число.
Как применить или изменить формат времени.
Microsoft Excel достаточно умен, чтобы распознавать время при вводе и соответствующем форматировании ячейки. Например, если вы наберете 10:30 или 18:40, программа будет воспринимать и отображать это как время в зависимости от установленного по умолчанию формата времени.
Если вы хотите отформатировать некоторые числа как время или применить другой формат времени к существующим значениям, вы можете сделать это с помощью диалогового окна ”Формат ячеек”, как описано ниже.
- На листе Excel выберите ячейки, в которых вы хотите применить или изменить формат времени.
2. Откройте диалоговое окно Формат ячеек , нажав Ctrl + 1или щелкнув значок “Панель запуска диалогового окна» рядом с полем ”Число» на вкладке “Главная”.
3. На вкладке “Число” выберите “Время» в списке и укажите подходящий образец в окне “Тип» .
4. Нажмите OK, чтобы применить выбранное.
Создание пользовательского формата времени.
Хотя Microsoft Excel предоставляет несколько различных форматов времени, вы можете создать свой собственный, который лучше всего подходит для конкретной задачи. Для этого откройте знакомое нам окно настроек, выберите “Все форматы» и введите подходящее время в поле “Тип» .
Созданный вами пользовательский формат времени останется в списке Тип в следующий раз, когда он вам понадобится.
Совет. Самый простой способ создать собственный формат времени – использовать один из существующих в качестве отправной точки. Для этого щелкните “Время» в списке «Категория» и выберите один из предустановленных форматов. После этого внесите в него изменения.
При этом вы можете использовать следующие коды.
Код | Описание | Отображается как |
ч | Часы без нуля в начале | 0:35:00 |
чч | Часы с нулем в начале | 03:35:00 |
м | Минуты без нуля в начале | 0:0:59 |
мм | Минуты с нулем в начале | 00:00:59 |
c | Секунды без нуля в начале | 00:00:9 |
сс | Секунды с нулем в начале | 00:00:09 |
Когда вы рассчитываете, к примеру, табель рабочего времени, то сумма может превысить 24 часа. Чтобы Microsoft Excel правильно отображал время, выходящее за пределы суток, примените один из следующих настраиваемых форматов времени. На скриншоте ниже – отображение одного и того же времени разными способами.
Пользовательские форматы для отрицательных значений времени
Пользовательские форматы времени, описанные выше, работают только для положительных значений. Если результат ваших вычислений представляет собой отрицательное число, отформатированное как время (например, когда вы вычитаете большее количество времени из меньшего), результат будет отображаться как #####. И увеличение ширины столбца не поможет избавиться от этих решёток.
Если вы хотите обозначить отрицательные значения времени, вам доступны следующие параметры:
- Отобразите пустую ячейку для отрицательных значений времени. Для этого введите точку с запятой в конце формата времени, например [ч]: мм;
- Вывести сообщение об ошибке. Введите точку с запятой в конце формата времени, а затем напишите сообщение в кавычках, например
[ч]: мм; «Отрицательное время»
Если вы хотите отображать отрицательные значения времени именно как отрицательные значения, например -11:15, самый простой способ — изменить систему дат Excel на систему 1904 года. Для этого щелкните Файл> Параметры> Дополнительно, прокрутите вниз до раздела Вычисления и установите флажок Использовать систему дат 1904.
Формат «Дата – Время».
Если нужно показать и дату, и время, вы можете просто объединить в единое целое те форматы, о которых мы говорили выше.
На скриншоте ниже вы видите несколько вариантов, как могут выглядеть ваши значения:
Ничего сложного: сначала описываем дату, затем – время.
Формат даты Excel не работает – как исправить?
Обычно Microsoft Excel очень хорошо понимает даты, и вы вряд ли столкнетесь с какими-либо серьёзными проблемами при работе с ними.
Но если всё же у вас возникла проблема с отображением дня, месяца и года, ознакомьтесь со следующими советами по устранению неполадок.
Ячейка недостаточно широка, чтобы вместить всю информацию.
Если вы видите на листе несколько знаков решетки (#####) вместо даты, то скорее всего, ваши ячейки недостаточно широки, чтобы вместить её целиком.
Решение. Дважды кликните по правой границе столбца, чтобы изменить его размер в соответствии с содержимым. Кроме того, вы можете просто перетащить мышкой правую границу, чтобы установить нужную ширину столбца.
Отрицательные числа форматируются как даты
Во всех современных версиях Excel 2013, 2010 и 2007 решетка (#####) также отображается, когда ячейка, отформатированная как дата или время, содержит отрицательное значение. Обычно это результат, возвращаемый какой-либо формулой. Но это также может произойти, когда вы вводите отрицательное значение в ячейку, а затем представляете эту ячейку как дату.
Если вы хотите отображать отрицательные числа как отрицательные даты, вам доступны два варианта:
Решение 1. Переключитесь на систему 1904.
Перейдите в Файл > Параметры > Дополнительно , прокрутите вниз до раздела При вычислении этой книги , установите флажок Использовать систему дат 1904 и нажмите ОК .
В этой системе 0 – это 1 января 1904 года; 1 – 2 января 1904 г .; а -1 отображается как: -2-янв-1904.
Конечно, такое представление очень необычно и требуется время, чтобы к нему привыкнуть.
Решение 2. Используйте функцию ТЕКСТ.
Другой возможный способ отображения отрицательных дат в Excel – использование функции ТЕКСТ. Например, если вы вычитаете C1 из B1, а значение в C1 больше, чем в B1, вы можете использовать следующую формулу для вывода результата в нужном вам виде:
=ТЕКСТ(ABS(B1-C1);»-ДД ММ ГГГГ»)
Получим результат «-01 01 1900».
Вы можете в формуле ТЕКСТ использовать любые другие настраиваемые форматы даты.
Замечание. В отличие от предыдущего решения, функция ТЕКСТ возвращает текстовое значение, поэтому вы не сможете использовать результат в других вычислениях.
Даты импортированы в Excel как текст
Когда вы импортируете данные из файла .csv или какой-либо другой внешней базы данных, даты часто импортируются как текстовые значения. Они могут выглядеть для вас как обычно, но Excel воспринимает их как текст и обрабатывает соответственно.
Решение. Вы можете преобразовать «текстовые даты» в надлежащий для них вид с помощью функции ДАТАЗНАЧ или функции Текст по столбцам. Подробную информацию см. в следующей статье: Как преобразовать текст в дату.
Мы рассмотрели возможные способы представления даты и времени в Excel. Спасибо за чтение!
Пользовательский формат – это формат отображения значения задаваемый пользователем. Например, дату 13/01/2010 можно отобразить как: 13.01.2010 или 2010_01_13 или 13-Январь-10
.
Пользовательский формат можно применить через
Формат ячеек
или определить в функции
ТЕКСТ()
. В этой статье приведены некоторые примеры пользовательского формата даты и времени (см.
файл примера
).
Форматы Даты (на примере значения 01.02.2010 12:05)
|
|
|
М |
Месяц (заглавная буква М) |
2 |
ММ |
месяц |
02 |
МММ |
фев |
|
ММММ |
Февраль |
|
д |
день |
1 |
дд |
01 |
|
ддд |
сокращенный день недели |
Пн |
дддд |
день недели |
понедельник |
д.М |
1.2 |
|
гг (или г) |
год |
10 |
гггг (или ггг) |
2010 |
|
д.М.гг |
1.2.10 |
|
дд.ММ.гггг чч:мм |
полный формат даты |
01.02.2010 12:05 |
ДД МММ ГГГГ |
01 фев 2010 |
|
дд-ММ-гггг |
01-02-2010 |
|
ГГГГ_ММ_ДД |
Пользовательский формат |
2010_02_01 |
ДДД, ДД|ММ|ГГ | Пользовательский формат | Пн, 01|02|10 |
ДД-ММММ-ГГ |
Пользовательский формат |
13-Январь-10 |
Форматы времени (на примере значения 12:05 дня)
Формат |
|
|
м |
минуты |
5 |
мм |
минуты |
05 |
ч:мм AM/PM |
12:05 PM |
|
ч:мм:сс |
12:05:00 |
|
[ч] |
подсчет кол-ва часов |
12 |
[м] |
подсчет кол-ва минут |
725 (12*60+5) |
Пользовательский формат не влияет на вычисления, меняется лишь отображения числа в ячейке. Пользовательский формат можно ввести через диалоговое окно
Формат ячеек
, вкладка
Число
, (
все форматы
), нажав
CTRL+1
. Сам формат вводите в поле
Тип
, предварительно все из него удалив. Более подробно о применении пользовательского формата читайте в статье
Числовой пользовательский формат
.
В случае использования функции
ТЕКСТ()
используйте следующий синтаксис:
=ТЕКСТ(СЕГОДНЯ();»здесь укажите требуемый формат»)
. Например,
=ТЕКСТ(СЕГОДНЯ();»дд.ММ.гггг»)
Естественно, вместо функции
СЕГОДНЯ()
можно использовать либо дату, либо формулу, вычисление которой дает числовое значение, представляющее собой дату, либо ссылку на ячейку, содержащую дату. О том, как EXCEL хранит дату и время можно прочитать в одноименной статье
Как Excel хранит дату и время
.
Еще один пример: число 1300 можно отобразить как Время (13:00) с помощью формата 00:00 (обратный слеш нужен для корректного интерпретирования двоеточия). Результат 13:00. Но EXCEL будет продолжать производить вычисления с 1300 как с обычным числом (меняется только отображения числа 1300). При прибавлении 65 вместо 14:05 получим 13:65. Аналогичная функция с пользовательским форматом:
=ТЕКСТ(1300;» 00:00″)
Этот формат полезен для ускорения ввода, см. статью
Ускорение ввода значений в формате времени
.
Видео
Как обычно, кому надо быстро — смотрим видео. Подробности и нюансы — в тексте ниже:
Как вводить даты и время в Excel
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами — и понимает их все:
«Классическая» форма |
3.10.2006 |
Сокращенная форма |
3.10.06 |
С использованием дефисов |
3-10-6 |
С использованием дроби |
3/10/6 |
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню — правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):
Время вводится в ячейки с использованием двоеточия. Например
16:45
По желанию можно дополнительно уточнить количество секунд — вводя их также через двоеточие:
16:45:30
И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть
27.10.2012 16:45
Быстрый ввод дат и времени
Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).
Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать — как именно копировать выделенную дату:
Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:
Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата — лучше воспользоваться функцией СЕГОДНЯ (TODAY):
Как Excel на самом деле хранит и обрабатывает даты и время
Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек — вкладка Число — Общий), то можно увидеть интересную картинку:
То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417
На самом деле любую дату Excel хранит и обрабатывает именно так — как число с целой и дробной частью. Целая часть числа (41209) — это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)
Из всех этих фактов следуют два чисто практических вывода:
- Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем!
- Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они — числа! А вот это уже раскрывает перед пользователем массу возможностей.
Количество дней между двумя датами
Считается простым вычитанием — из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж.
Про то, как это правильно вычислять, лучше почитать тут.
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Ссылки по теме
- Как вычислять возраст (стаж) в полных годах-месяцах-днях
- Как сделать выпадающий календарь для быстрого ввода любой даты в любую ячейку.
- Автоматическое добавление текущей даты в ячейку при вводе данных.
- Как вычислить дату второго воскресенья февраля 2007 года и т.п.
Преобразование чисел, дат и строк в настраиваемый текстовый формат из кода VBA Excel с помощью функции Format. Синтаксис, параметры, символы, примеры.
Format – это функция, которая преобразует число, дату или строку в текст, отформатированный в соответствии с именованным выражением формата или инструкциями, составленными из специальных символов.
Синтаксис и параметры
Format(Expression, [FormatExpression], [FirstDayOfWeek], [FirstWeekOfYear])
- Expression – любое допустимое выражение (переменная), возвращающее числовое значение или строку (обязательный параметр).
- FormatExpression – выражение формата, именованное или содержащее инструкции из специальных символов (необязательный параметр).
- FirstDayOfWeek – константа, задающая первый день недели (необязательный параметр).
- FirstWeekOfYear – константа, задающая первую неделю года (необязательный параметр).
Именованные выражения форматов
Именные форматы даты и времени
Имя формата | Описание |
---|---|
General Date | Стандартное отображение даты и времени в соответствии с параметрами системы. |
Long Date | Длинный формат даты. |
Medium Date | Средний формат даты. |
Short Date | Краткий формат даты. |
Long Time | Длинный формат времени. |
Medium Time | Средний формат времени. |
Short Time | Краткий формат времени. |
Проверьте отображение даты и времени с использованием именованных форматов на вашем компьютере при помощи следующего кода VBA Excel:
Sub FormatDateTime() MsgBox «General Date: « & Format(Now, «General Date») & vbNewLine _ & vbNewLine & «Long Date: « & Format(Now, «Long Date») & vbNewLine _ & vbNewLine & «Medium Date: « & Format(Now, «Medium Date») & vbNewLine _ & vbNewLine & «Short Date: « & Format(Now, «Short Date») & vbNewLine _ & vbNewLine & «Long Time: « & Format(Now, «Long Time») & vbNewLine _ & vbNewLine & «Medium Time: « & Format(Now, «Medium Time») & vbNewLine _ & vbNewLine & «Short Time: « & Format(Now, «Short Time») End Sub |
Скорее всего, результат будет таким:
Именованные форматы чисел
Имя формата | Описание |
---|---|
General Number | Стандартное отображение числа без знака разделителя групп разрядов. |
Currency | Денежный формат. |
Fixed | Отображение числа без знака разделителя групп разрядов с двумя цифрами после разделителя целой и дробной части. |
Standard | Отображение числа со знаком разделителя групп разрядов и с двумя цифрами после разделителя целой и дробной части. |
Percent | Процентный формат: отображение числа, умноженного на 100, со знаком процента (%), добавленного справа. |
Scientific | Отображение числа в экспоненциальном виде. |
Yes/No | Возвращается «Нет», если число равно 0, иначе отображается «Да». |
True/False | Возвращается «Ложь», если число равно 0, иначе отображается «Истина». |
On/Off | Возвращается «Выкл», если число равно 0, иначе отображается «Вкл». |
Проверяем работу именованных форматов на числах 2641387.7381962 и 0 с помощью кода VBA Excel:
Sub FormatNumber() Dim n As Double n = 2641387.7381962 ‘n = 0 MsgBox «Форматируемое число = « & n & vbNewLine _ & vbNewLine & «General Number: « & Format(n, «General Number») & vbNewLine _ & vbNewLine & «Currency: « & Format(n, «Currency») & vbNewLine _ & vbNewLine & «Fixed: « & Format(n, «Fixed») & vbNewLine _ & vbNewLine & «Standard: « & Format(n, «Standard») & vbNewLine _ & vbNewLine & «Percent: « & Format(n, «Percent») & vbNewLine _ & vbNewLine & «Scientific: « & Format(n, «Scientific») & vbNewLine _ & vbNewLine & «Yes/No: « & Format(n, «Yes/No») & vbNewLine _ & vbNewLine & «True/False: « & Format(n, «True/False») & vbNewLine _ & vbNewLine & «On/Off: « & Format(n, «On/Off») End Sub |
Получаем следующий результат:
Вместо вопросительного знака в отображении числа в формате Currency, по идее, должен быть знак валюты (₽ или руб.).
Специальные символы для выражений форматов
Символы для форматов даты и времени
Символ | Описание |
---|---|
Точка (.) | Разделитель компонентов даты (день, месяц, год). Используется при отображении месяца в виде числа. |
Пробел | Разделитель компонентов даты (день, месяц, год). Используется при отображении месяца прописью. |
Двоеточие (:) | Разделитель компонентов времени (часы, минуты, секунды). |
d | День в виде числа без нуля в начале (1–31). |
dd | День в виде числа с нулем в начале (01–31). |
m | Месяц в виде числа без нуля в начале (1–12). Если (m) следует после (h) или (hh), отображаются минуты (0–59). |
mm | Месяц в виде числа с нулем в начале (01–12). Если (mm) следует после (h) или (hh), отображаются минуты (00–59). |
mmm | Месяц прописью в сокращенном виде (янв–дек). |
mmmm | Полное название месяца (январь–декабрь). |
y | День года в виде числа (1–366). |
yy | Год в виде 2-значного числа (00–99). |
yyyy | Год в виде 4-значного числа (1900–9999). |
h | Часы в виде числа без нуля в начале (0–23). |
hh | Часы в виде числа с нулем в начале (00–23). |
n (m) | Минуты в виде числа без нуля в начале (0–59). |
nn (mm) | Минуты в виде числа с нулем в начале (00–59). |
s | Секунды в виде числа без нуля в начале (0–59). |
ss | Секунды в виде числа с нулем в начале (00–59). |
В этой таблице перечислены далеко не все символы для выражений форматов даты и времени. Вы можете ознакомиться со всеми символами, в том числе и для форматирования чисел, на сайте разработчика.
Примеры отображения даты с помощью разных по количеству наборов символа d:
Sub DataIsD() MsgBox «d: « & Format(Now, «d») & vbNewLine _ & vbNewLine & «dd: « & Format(Now, «dd») & vbNewLine _ & vbNewLine & «ddd: « & Format(Now, «ddd») & vbNewLine _ & vbNewLine & «dddd: « & Format(Now, «dddd») & vbNewLine _ & vbNewLine & «ddddd: « & Format(Now, «ddddd») & vbNewLine _ & vbNewLine & «dddddd: « & Format(Now, «dddddd») End Sub |
Символы для числовых форматов
Символ | Описание |
---|---|
Точка (.) | Десятичный разделитель. |
Запятая (,) | Разделитель групп разрядов. В отображаемых числах заполняется пробелом. |
(0) | Заполнитель, который отображает цифру или ноль. Используется, когда нужны ведущие нули или нули в конце числа. |
(#) | Заполнитель, который отображает цифру или ничего не отображает. Используется, когда не нужны ведущие нули или нули в конце числа. |
(%) | Заполнитель процента. Выражение умножается на 100, а знак процента (%) вставляется на той позиции, где он указан в строке формата. |
(E- E+ e- e+) | Экспоненциальный формат. |
Примеры использования символов в выражениях числовых форматов VBA Excel:
Sub FormatNumber2() Dim n As Double n = 2641387.7381962 ‘n = 0.2397842 MsgBox «Форматируемое число = « & n & vbNewLine _ & vbNewLine & «0.##: « & Format(n, «0.##») & vbNewLine _ & vbNewLine & «000.###: « & Format(n, «000.###») & vbNewLine _ & vbNewLine & «#,###.###: « & Format(n, «#,###.###») & vbNewLine _ & vbNewLine & «0 %: « & Format(n, «0 %») & vbNewLine _ & vbNewLine & «0.### E-: « & Format(n, «0.### E-«) & vbNewLine _ & vbNewLine & «0.### E+: « & Format(n, «0.### E+») End Sub |
Символы для текстовых форматов
Символ | Описание |
---|---|
At-символ (@) | Заполнитель для символов, отображающий знак или пробел. |
Амперсанд (&) | Заполнитель для символов, отображающий знак или ничего (пустая строка). |
Меньше (<) | Принудительный перевод всех буквенных символов в нижний регистр. |
Больше (>) | Принудительный перевод всех буквенных символов в верхний регистр. |
Примеры использования символов в выражениях строковых форматов VBA Excel:
Sub FormatString() MsgBox «Номер телефона: « & Format(«1234567890», «+7 (@@@) @@@-@@-@@») & vbNewLine _ & vbNewLine & «Серия и номер паспорта: « & Format(«1234567890», «&& && &&&&») & vbNewLine _ & vbNewLine & «Нижний регистр: « & Format(«Нижний регистр», «<«) & vbNewLine _ & vbNewLine & «Верхний регистр: « & Format(«Верхний регистр», «>») End Sub |
Форматы для различных значений одного выражения
Различные форматы для разных числовых значений
В выражении формата для чисел предусмотрено от одного до четырех разделов, отделяемых друг от друга точкой с запятой. Отображаемая строка зависит от значения, возвращенного параметром Expression функции Format.
Количество разделов | Результат форматирования |
---|---|
Один раздел | Выражение формата применяется ко всем значениям. |
Два раздела | Первый раздел применяется к положительным значениям и нулям, второй – к отрицательным значениям. |
Три раздела | Первый раздел применяется к положительным значениям, второй – к отрицательным значениям, третий – к нулям. |
Четыре раздела | Первый раздел применяется к положительным значениям, второй – к отрицательным значениям, третий – к нулям, четвертый – к значениям Null. |
Пример использования четырех разделов в выражении формата числовых значений:
Sub FormatDifferentValues() MsgBox «Число 1234,5678: « & _ Format(1234.5678, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Число -25: « & _ Format(—25, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Число 0: « & _ Format(0, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Null: « & _ Format(Null, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») End Sub |
Различные форматы для разных строковых значений
В выражении формата для строк предусмотрено до двух разделов, отделяемых друг от друга точкой с запятой. Отображаемая строка зависит от текста, возвращенного параметром Expression функции Format.
Количество разделов | Результат форматирования |
---|---|
Один раздел | Выражение формата применяется ко всем строковым данным. |
Два раздела | Первый раздел применяется к строковым данным, второй – к значениям Null и пустым строкам («»). |
Пример использования двух разделов в выражении формата строк:
Sub FormatString2() MsgBox «Строка «Белка»: « & _ Format(«Белка», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Пустая строка: « & _ Format(«», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Строка «Null»: « & _ Format(«Null», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Значение Null: « & _ Format(Null, «@;Пустая строка или Null») End Sub |