Перейти к содержимому

Какой формат числа используется для ввода даты

  • автор:

Пользовательское форматирование даты

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 Еще. Меньше

При вводе текста в ячейку, например«02.02»,Excel предполагает, что это дата, и форматирование ее в соответствии с датой, заданной по умолчанию на панели управления. Excel может отформатоватьего как «2-фев». При изменении даты на панели управления формат даты по умолчанию в Excel изменится соответствующим образом. Если вам не нравится формат даты по умолчанию, вы можете выбрать другой формат даты в Excel, например «2 февраля 2012 г. или«02.02.2012». Вы также можете создать собственный пользовательский формат в классических приложениях Excel.

Выбор из списка форматов даты

Выбор даты в списке

  1. Выделите ячейки, которые нужно отформатировать.
  2. Нажмите сочетание клавиш CTRL+1.
  3. В диалоговом окне Формат ячеек откройте вкладку Число.
  4. В списке Категория выберите дата.
  5. В группе Тип выберите формат даты. Предварительный просмотр вашего формата вместе с первой датой в данных будет доступен в поле Образец.

Примечание: Форматы даты, начинающиеся со звездочки (*), будут изменены при изменении формата отображения даты и времени на панели управления. Форматы без звездочки останутся без изменений.

Совет: В ваших ячейках есть числа, отображающиеся как #####? Вполне вероятно, что ширины ячейки недостаточно для демонстрации всего числа. Дважды щелкните правую границу столбца, содержащего ячейки с символами #####. Размер столбца изменится в соответствии с длиной чисел. Вы можете также перетащить правую границу столбца до необходимой ширины.

Создание пользовательского формата даты

Если в поле Тип нет подходящего формата, вы можете создать собственный. Для этого проще всего взять за основу формат, который ближе всего к нужному формату.

  1. Выделите ячейки, которые нужно отформатировать.
  2. Нажмите сочетание клавиш CTRL+1.
  3. В диалоговом окне Формат ячеек откройте вкладку Число.
  4. В списке Категория щелкните Датаи выберите нужный формат даты в списке Тип. Этот формат можно настроить на последнем шаге ниже.

Выбор даты в списке

  • Снова перейдите к списку Категория и выберите Настраиваемые. В областиТип вы увидите код формата формата даты, выбранного на предыдущем шаге. Встроенный формат данных невозможно изменить, поэтому не бойтесь его повредить. Внесенные вами изменения будут применяться только к созданному вами пользовательскому формату.
  • Внесите нужные изменения в поле Тип с помощью кода из таблицы, приведенной ниже.
  • Для отображения

    Используйте код

    Месяцев в виде чисел от 1 до 12

    Месяцев в виде чисел от 01 до 12

    Месяцев в виде «янв», . «дек»

    Форматирование даты, числа, Булево: требования по локализации

    Область применения: управляемое приложение, мобильное приложение, обычное приложение.

    1. При использовании функции Формат в некоторых случаях следует использовать функцию НСтр при создании форматной строки (формат представления или редактирования дат, Булево значения и т.п.) . При этом форматная строка, задаваемая в свойствах метаданных (форм), подлежит локализации всегда, также, как синоним.

    1.1. Форматирование дат

    для вывода дат следует учитывать, что в различных странах приняты различные порядок следования и разделители для составных частей даты.

    Например, одна и та же дата: 20.12.2012 – для России, 12/20/2012 – для США.

    Поэтому вместо явного задания формата даты рекомендуется использовать локальный формат даты (ДЛФ).

    В случаях, когда использовать локальный формат даты не получатся, и требуется задать произвольный формат (ДФ) или указать представление пустой даты (ДП) нужно применять функцию НСтр к форматной строке, чтобы при локализации оставалась возможность переопределить выводимый формат:

    Формат(ДатаУтверждения, "ДФ=дд.ММ.гггг"); Формат(ДатаУтверждения, "ДФ=ММММ гггг") + " г.";
    Формат(ДатаУтверждения, "ДЛФ=ДД"); Формат(ДатаУтверждения, НСтр("ru='ДФ=''ММММ гггг ""г.""'''"));

    1.2. Форматирование числа

    Следует применять функцию НСтр к форматной строке в случае, когда
    • для числа задается нечисловое представление нулевого значения (ЧН) ;
    • указан шаблон форматирования числа (ЧФ);
    • переопределяется разделитель дробной части (ЧРД).

    Предупреждение(Формат(100, "ЧН=Отсутствует")); Предупреждение(Формат(100, "ЧФ=""$Ч' / Час'"""));
    Предупреждение(Формат(100, НСтр("ru = 'ЧН=Отсутствует'"))); Предупреждение(Формат(100, НСтр("ru = 'ЧФ=""$Ч'' / Час''""'"))); // "$100 / Час"

    1.3. Форматирование Булево

    Для вывода Булево значения пользователю всегда применяйте функцию НСтр к форматной строке.

    Предупреждение(Формат(Истина, "БЛ=Нет; БИ=Да"));
    Предупреждение(Формат(Истина, НСтр("ru='БЛ=Нет; БИ=Да'")));

    1.4. Не следует переопределять поведение отображения локализации данных по умолчанию – формат отображения операционной системы. При использовании функции Формат следует избегать использовать параметр «L=».

    2. При задании формата в полях ввода в формах и полях отчетов на базе СКД также рекомендуется локальный формат даты. Использовать другие форматы допустимо, если по сути решаемой задачи локальный формат не подходит – тогда форматная строка будет переводиться при переводе конфигурации.

    3. При переопределении стандартных представлений полей в отчетах на базе СКД следует придерживаться тех же правил, что и в коде модулей. Например, неправильно:

    «N » + ВОтветНаНомер + » от » + Формат(ВОтветНаДата, «ДФ=dd.MM.yyyy»)

    правильное выражение, по которому вычисляется представление поля:

    СтрШаблон( НСтр("ru = 'N%1 от %2'"), ВОтветНаНомер, Формат(ВОтветНаДата, "ДЛФ=D"))

    4. В случае, когда требуется передача значения в машиночитаемом виде, вне зависимости от информационной системы и настроек локализации, применяемых в ней, вместо локализации значения следует выполнить сериализацию. Локализацию дат нужно использовать всегда, когда это возможно. В тех случаях, когда это технически нецелесообразно, допускается отказываться от локализации. Например, при генерации файла формата XML, поддерживаемого банк-клиентом системы, специфичной для России.

    В общем случае для сериализации рекомендуется использовать метод XMLСтрока .

    Для десериализации XMLЗначение . Или метод ПривестиЗначение объекта ОписаниеТипов .

    4.1. Сериализация дат

    При разработке собственных форматов передачи данных между различными системами рекомендуется сериализовать дату в формате ISO: «ГГГГ-ММ-ДДTЧЧ:ММ:ССZ», например «2009-02-15T00:00:00Z» (соответствует типу dateTime схемы XML см. http://www.w3.org/TR/xmlschema-2/#dateTime).

    Строка = Формат(Дата, «ДФ=гггг-ММ-ддTЧЧ:мм:сс»); // Сериализация

    // Сериализация Строка = XMLСтрока(Дата); // Сериализация // Или Строка = ЗаписатьДатуJSON(Дата, ФорматДатыJSON.ISO); // Сериализация ОписаниеТипа = Новый ОписаниеТипов("Дата"); Дата = ОписаниеТипа.ПривестиЗначение(Строка);
    // Десериализация Дата = XMLЗначение(Тип("Дата"), Строка); // Или Дата = ПрочитатьДатуJSON(Строка, ФорматДатыJSON.ISO);

    4.2. Сериализация числа

    // Сериализация Строка = Строка(Число); // Или Строка = Формат(Число);

    Строка = XMLСтрока(Число); // Сериализация
    Число = XMLЗначение(Тип(«Число»), Строка); // Десериализация

    4.3. Сериализация Булево

    // Сериализация Строка = Строка(Булево); // Или Строка = Формат(Булево); // Или Строка = Формат(Булево, "БЛ=off; БИ=on");
    // Сериализация Строка = XMLСтрока(Булево); // Или Булево = XMLЗначение(Тип("Булево "), Строка); // Или Строка = ?(Булево, "on", "off");

    Пользовательский формат ДАТЫ и ВРЕМЕНИ в EXCEL

    Пользовательский формат – это формат отображения значения задаваемый пользователем. Например, дату 13/01/2010 можно отобразить как: 13.01.2010 или 2010_01_13 или 13-Январь-10 .

    Пользовательский формат можно применить через Формат ячеек или определить в функции ТЕКСТ() . В этой статье приведены некоторые примеры пользовательского формата даты и времени (см. файл примера ).

    Форматы Даты (на примере значения 01.02.2010 12:05)

    Формат

    Название

    Результат для 01.02.2010 12:05

    Месяц (заглавная буква М)

    сокращенный день недели

    полный формат даты

    Форматы времени (на примере значения 12:05 дня)

    Название

    Результат для 12:05 дня

    подсчет кол-ва часов

    подсчет кол-ва минут

    Пользовательский формат не влияет на вычисления, меняется лишь отображения числа в ячейке. Пользовательский формат можно ввести через диалоговое окно Формат ячеек , вкладка Число , ( все форматы ), нажав CTRL+1 . Сам формат вводите в поле Тип , предварительно все из него удалив. Более подробно о применении пользовательского формата читайте в статье Числовой пользовательский формат .

    В случае использования функции ТЕКСТ() используйте следующий синтаксис: =ТЕКСТ(СЕГОДНЯ();»здесь укажите требуемый формат») . Например, =ТЕКСТ(СЕГОДНЯ();»дд.ММ.гггг»)

    Естественно, вместо функции СЕГОДНЯ() можно использовать либо дату, либо формулу, вычисление которой дает числовое значение, представляющее собой дату, либо ссылку на ячейку, содержащую дату. О том, как EXCEL хранит дату и время можно прочитать в одноименной статье Как Excel хранит дату и время .

    Еще один пример: число 1300 можно отобразить как Время (13:00) с помощью формата 00\:00 (обратный слеш нужен для корректного интерпретирования двоеточия). Результат 13:00. Но EXCEL будет продолжать производить вычисления с 1300 как с обычным числом (меняется только отображения числа 1300). При прибавлении 65 вместо 14:05 получим 13:65. Аналогичная функция с пользовательским форматом: =ТЕКСТ(1300;» 00\:00″)

    Этот формат полезен для ускорения ввода, см. статью Ускорение ввода значений в формате времени .

    Только для авторизованных пользователей
    Аноним, 31 января 2016 г.

    Помогите, пожалуйста. Нажала Ctrl1. Ввела новый формат ГГГГ.ММ.ДД Нажала ок. В ячейке вместо даты пишет кучу решёток. В поле образец формы Формат ячеек также пишет кучу решёток. Более того, сбились все форматы даты. Теперь все даты мне решётки показывают. Что делать?

    Какой формат числа используется для ввода даты

    Excel преобразовывает числа в даты. Причины и способы решения.

    Очень часто можно столкнуться с такой проблемой: когда вы вставляете в ячейки Excel числа, в которых в качестве десятичного разделителя используется точка, то некоторые такие числа Excel преобразовывает в даты, а другие визуально похожи на те же числа, но на самом деле являются текстом, с которым невозможно работать в дальнейшем как с числами.

    1. Несоответствие регионального формата исходных данных региональным настройкам вашей операционной системы. В исходных данных в качестве десятичного разделителя используется точка (американский формат), а у вас – региональные настройки, в которых десятичным разделителем является запятая, а точка воспринимается как разделитель отдельных составляющих даты – день, месяц, год (например, 17.09.202.
    2. Особое поведение Excel для ячеек в «Общем» числовом формате (который установлен по умолчанию): если вводить в ячейку что-то похожее на число, то такое значение сохраняется как число, если вводить что-либо, похожее на дату – то такое значение сохраняется как дата. Если вводимое значение не похоже ни на число, ни на дату – то это текст.

    В данном примере (выше) поврежденные данные:

    Исходные данные сохранились как текст:

    • Ячейка D3 – исходное значение (179.3287) мало похоже на дату, так как номер месяца 179 не существует (а вот год 3287 возможен, в далеком будущем).
    • Ячейка D4 – исходное значение похоже на дату (июль 1275 года). Однако в Excel точкой отсчета дат является 1 января 1900 года. Поэтому число 1275 (ранее 1900 года) не воспринимается как год.

    Исходные данные были преобразованы в даты (и, соответственно, утеряны):

    • Ячейка D5 – в исходном значении (7.1972) число до точки похоже на номер месяца 7 (июль), а число после точки – на год 1972 (на самом деле произошло преобразование в дату 01.07.1972)
    • Ячейка D6 – в исходном значении (11.2024) число до точки воспринимается как номер месяца (ноябрь), а после точки – год 2024 (произошло преобразование в дату 01.11.2024)

    Какие есть способы решения данной проблемы?

    Начнем с самых кардинальных и, соответственно, не самых лучших.

    Способ-1. Поменять региональные настройки операционной системы (на американские).

    Да, но такое глобальное изменение повлияет и на работу других приложений и служб (не только Excel).

    Способ-2. Локально в Excel (в параметрах Excel) заблаговременно изменить десятичный разделитель с запятой на точку:

    Способ-3. Заблаговременно установить «текстовый» формат ячеек (вместо «общего»), в которые будут вставляться значения.

    Тогда мы избавимся от авто преобразования «чисел», похожих на даты, в непосредственно даты, и получим значения в исходном виде, только в формате текста. Далее этот текст легко будет преобразовать в числа с помощью простой формулы:

    =SUBSTITUTE(A3;».»;»,»)*1 (в диапазоне C3:C9)

    либо еще лучше, формулы:

    =NUMBERVALUE(A3;».») (в диапазоне E3:E9)

    Русские варианты этих формул:

    Способ-4. Формулой (без какой-либо предварительной подготовки):

    Можно попробовать восстановить уже испорченные числа формулой

    Формула в ячейке G3:

    =1*IF(CELL(«format»;D3)=»G»; SUBSTITUTE(D3;».»;»,»); TEXT(D3;»M,YYYY»))

    или русский вариант:

    =1*ЕСЛИ(ЯЧЕЙКА(«формат»;D3)=»G«; ПОДСТАВИТЬ(D3;».»;»,»); ТЕКСТ(D3;»М,ГГГГ»))

    Формула работает следующим образом:

    CELL() (ЯЧЕЙКА()) – функция из категории «Информационные». Если первый ее аргумент (тип информации) указан “format”, то результат работы функции — «G» — для текста или чисел и «D3» — для дат.

    Если в ячейке находится текст, то функция SUBSTITUTE() (ПОДСТАВИТЬ()) заменяет точку на запятую и умножение на 1 в начале формулы (применение арифметической операции) приводит к преобразованию текста, состоящего из цифр с запятой, — в число.

    Если в ячейке не текст (а дата), то функция TEXT() (ТЕКСТ()) преобразует дату в текст в соответствии с кодом формата, указанного в качестве второго ее аргумента. И далее такой текст легко преобразуется в число путем умножения на 1 (в начале формулы).

    Используя код формата в функции TEXT, нужно учитывать то, что и даже в англоязычной версии, в зависимости от региональных настроек, вместо “M,YYYY”, возможно, нужно указывать “М,ГГГГ” (где “M” – кириллическое).

    ВАЖНО! Формула не является универсальным решением (на все случаи жизни)

    Она хорошо работает, если после точки находится от 3-х и более цифр.

    А что, если имеем такое:

    В первых трех ячейках уже цифры до точки воспринимаются как номер дня (а не номер месяца), а цифры после точки – как номер месяца (а не номер года).

    А в последних двух ячейках разные исходные числа привели к получению одной и той же даты.

    Если в первом случае можно было бы еще добавить проверку дополнительных условий в формуле, то в последнем – исходные значения безвозвратно утеряны и узнать какие они были – уже не представляется возможным. Очевидно, в таком случае, единственный вариант – это не допустить автоматического преобразования «как бы чисел» в даты, то есть указанный выше способ 3 – чуть ли не единственное решение (не считая кардинальных изменений региональных настроек).

    Такие и подобные тонкости работы в Excel мы прорабатываем на курсе «Excel бизнес-анализ и прогнозирование»

    За 27 часов изучения Excel у вас не останется никаких вопросов его работе, а если они и возникнут, то наши тренера-поддержки онлайн помогут с ответами.

    Автор статьи CEO и тренер DATAbi Евгений Довженко

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *