Excel не сохраняет формат даты

Почему не меняется формат даты в Excel? Возможной причиной является конфликт форматов или блокировка стиля ячеек, неправильное выполнение работы или временный сбой в работе приложения. Для устранения попробуйте перезапустить программу или воспользуйтесь одним из приведенных в статье способов. Ниже рассмотрим основные причины и способы решения такой проблемы в Excel.

Причины и пути решения

Для решения проблемы нужно понимать, почему Эксель не меняет формат даты при любых попытках. К возможным причинам стоит отнести:

  1. Конфликт форматов и блокировка стиля ячейки.
  2. Несоответствие заданных стилей Excel.
  3. Неправильное выполнение работы.
  4. Временные сбои в работе программы.
  5. Неправильные региональные настройки.

В ситуации, когда не меняется дата в Эксель, можно воспользоваться одним из рассмотренных ниже решений.

Способ №1:

  • Выберите столбец даты в Excel.
  • Зайдите в раздел «Данные» и выберите «Text to Columns».

  • На первом экране поставьте переключатель «delimited».
  • Кликните на кнопку «Далее».
  • Снимите флажки-разделители и кликните на кнопку «Далее».
  • В секции «Формат данных столбца» выберите «Дату».

  • Жмите «Готово».

Решение №2:

  1. Выделите ячейки, где не меняется дата в Экселе.
  2. Жмите на сочетание Ctrl+1.
  3. В разделе «Формат ячеек» откройте вкладку «Число».
  4. В перечне «Категория» выберите требуемый раздел.
  5. Перейдите в «Тип» и укажите подходящий вариант форматирования в Excel. Для предварительного просмотра перейдите в раздел «Образец». Если сделанный вариант не устраивает, можно внести изменения и снова выполнить проверку — меняется отображение или нет.

Метод №3:

  1. Жмите нужную ячейку, где формат даты в Эксель не меняется.
  2. Кликните сочетание Ctrl+Shift+#.

Способ №4:

  1. Используйте формулу: =DATE(MID(A1,FIND(«,»,A1)+1,5),MATCH(LEFT(A1,3),{«Jan»;»Feb»;»Mar»;»Apr»;»May»;»Jun»;»Jul»;»Aug»;»Sep»;»Oct»;»Nov»;»Dec»},0),MID(SUBSTITUTE(A1,»,»,»   «),5,5)) для перевода в REAL.
  2. Проверьте, что отображение в Excel меняется с учетом предпочтений.

Такой вариант может сработать в случае неправильных региональных настроек и невозможности изменения форматирования для дня, строки и времени. Представленную форму Excel можно сделать проще, если представить больше сведений о формате ввода. Но даже в таком случае все должно работать корректно. Кроме того, при желании сохранить часть времени можно воспользоваться формулой +RIGHT(A1,11).

Решение №5:

  1. Загрузите лист Excel, где не меняется стиль отображения, на Гугл Док.
  2. Откройте файл с помощью электронной Гугл-таблицы.
  3. Выберите весь столбец с информацией.
  4. Установите тип формата для даты. На данном этапе можно выбрать любой подходящий вариант.
  5. Закройте электронную таблицу Гугл в формате .xlsx.

Метод №6:

  1. Копируйте несколько ячеек, где не меняется форматирование даты в Excel, в блокнот.
  2. Жмите на Clear All.
  3. Вставьте содержимое ячейки в блокнот обратно в те же ячейки.
  4. Установите их в качестве текущего дня в нужном варианте и т. д.

Как поменять формат в Excel

Распространенная причина, почему софт не меняет дату в Экселе — неправильные действия пользователя. Для решения проблемы необходимо правильно сделать эту работу. Здесь существует несколько путей.

Вариант №1:

  1. Зайдите во вкладку «Главная».
  2. Перейдите в раздел «Число».
  3. Жмите на кнопку вызова диалогового окна (находится над строчкой «Число»).
  4. В списке «Категория» выберите нужный пункт.
  5. Перейдите в раздел «Тип» и установите нужный вариант отображения в Excel.

Тип форматирования, который начинается со звездочки, влияют за изменение параметров дня / времени, установленных на панели управления. В ином случае этого влияния нет. После этого необходимо выбрать нужный язык, который меняется с помощью специального переключателя. Выбор осуществляется из доступного перечня (русский язык предусмотрен).

Вариант №2:

  1. Зайдите во вкладку XLTools.
  2. В группе «Дата и время» откройте выпадающий перечень.
  3. Войдите в раздел «Изменить формат даты и времени».
  4. Задайте область поиска. Здесь указывается выбранный диапазон, рабочий лист, книга, открытые книги.
  5. Выберите подходящий вариант из перечня, принятый в стране и на нужном языке. По желанию задайте пользовательский формат.
  6. Кликните на кнопку «Готово».

Если Excel не меняет формат даты, это не повод беспокоиться. В большинстве случаев проблема связана с неправильным выполнением работы или временными сбоями в работе приложения. Перед тем, как предпринимать какие-либо шаги, попробуйте сохраниться и перезапустить Excel. Если же это не дало результата, проверьте возможность применения одного из рассмотренных выше методов.

В комментариях расскажите, приходилось ли вам сталкиваться с ситуацией, когда не работает дата в Эксель или не меняется ее форматирование. Поделитесь, какой из приведенных выше методов сработал, и какие еще варианты можно использовать.

Отличного Вам дня!

Skip to content

Как изменить формат даты в Excel и создать собственное форматирование

Это руководство посвящено форматированию даты в Excel и объясняет, как установить вид даты и времени по умолчанию, как изменить их формат и создать собственный.

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

  1. Одна и та же дата может отображаться различными способами,
  2. 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

Даты могут отображаться разными способами. Когда дело доходит до изменения их вида для данной ячейки или диапазона, самый простой способ — открыть диалоговое окно ”Формат ячеек” и выбрать один из имеющихся там стандартных вариантов.

  1. Выберите данные, которые вы хотите изменить, или пустые ячейки, в которые вы хотите вставить даты.
  2. Нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». Кроме того, вы можете кликнуть выделенные ячейки правой кнопкой мыши и выбрать этот пункт в контекстном меню.
  3. В окне “Формат ячеек» перейдите на вкладку “Число” и выберите “Дата» в списке числовых форматов.
  4. В разделе “Тип» выберите наиболее подходящий для вас вариант. После этого в поле “Образец» отобразится предварительный просмотр в выбранном варианте оформления.

  1. Если вас устраивает то, что вы увидели, нажмите кнопку ОК, чтобы сохранить изменение и закрыть окно.

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

Как сменить язык даты.

Если у вас есть файл, полный иностранных дат, вы, скорее всего, захотите изменить их те, которые используются в вашей стране. Допустим, вы хотите преобразовать американский формат (месяц/день/год) в европейский стиль (день/месяц/год).

Самый простой способ сделать это заключается в следующем:

  1. Выберите столбец, который вы хотите преобразовать в другой язык.
  2. Используйте комбинацию Ctrl + 1, чтобы открыть знакомые нам настройки.
  3. Выберите нужный язык в выпадающем списке «Язык (местоположение)» и нажмите «ОК», чтобы сохранить изменения.

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

Если вам не подходит ни один из стандартных вариантов, вы можете создать свой собственный.

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

При настройке пользовательского формата даты вы можете использовать следующие коды.

Код Описание Пример
м Номер месяца без нуля в начале 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, программа будет воспринимать и отображать это как время в зависимости от установленного по умолчанию формата времени.

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

  1. На листе 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. Спасибо за чтение!

Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
как форматировать Google таблицу Как сделать пользовательский числовой формат в Excel В этом руководстве объясняются основы форматирования чисел в Excel и предоставляется подробное руководство по созданию настраиваемого пользователем формата. Вы узнаете, как отображать нужное количество десятичных знаков, изменять выравнивание или цвет шрифта,…
7 способов поменять формат ячеек в Excel Мы рассмотрим, какие форматы данных используются в Excel.  Кроме того, расскажем, как можно быстро изменять внешний вид ячеек самыми различными способами. Когда дело доходит до форматирования ячеек в Excel, большинство…
Как удалить формат ячеек в Excel В этом коротком руководстве показано несколько быстрых способов очистки форматирования в Excel и объясняется, как удалить форматы в выбранных ячейках. Самый очевидный способ сделать часть информации более заметной — это…
8 способов разделить ячейку Excel на две или несколько Как разделить ячейку в Excel? С помощью функции «Текст по столбцам», мгновенного заполнения, формул или вставив в нее фигуру. В этом руководстве описаны все варианты, которые помогут вам выбрать технику, наиболее подходящую…

The date format in Excel always caused some issues to users

by Vladimir Popescu

Being an artist his entire life while also playing handball at a professional level, Vladimir has also developed a passion for all things computer-related. With an innate fascination… read more


Updated on January 5, 2023

Reviewed by
Alex Serban

Alex Serban

After moving away from the corporate work-style, Alex has found rewards in a lifestyle of constant analysis, team coordination and pestering his colleagues. Holding an MCSA Windows Server… read more

  • Users can fix Excel’s inability to change date formats by using the Text to Columns feature and selecting the MDY custom option.
  • The default Windows date format can also be changed to simplify the process in Excel.
  • Be mindful that changing the Windows date format will affect all applications on the PC, not just Excel.

date format not changing in excel

XINSTALL BY CLICKING THE DOWNLOAD FILE

To fix various PC problems, we recommend DriverFix:
This software will keep your drivers up and running, thus keeping you safe from common computer errors and hardware failure. Check all your drivers now in 3 easy steps:

  1. Download DriverFix (verified download file).
  2. Click Start Scan to find all problematic drivers.
  3. Click Update Drivers to get new versions and avoid system malfunctionings.
  • DriverFix has been downloaded by 0 readers this month.

If your Excel software is not changing the date format, you have to know that you’re not the only one experiencing this issue.

This problem seems to be spread across a variety of platforms and versions of Excel, but don’t worry, we will give you step-by-step instructions to fix it.

Follow the steps presented in this guide carefully to avoid making any unwanted changes.

Try this method if Excel doesn’t change the date format

  1. Click the Data tab from the top menu of your screen.
  2. Choose the Text to columns option from the menu.
  3. Tick the box next to the option Delimited to activate it.
  4. Press the Next button two times to move through the setup pages.
  5. Select Date -> click the drop-down menu -> choose the MDY custom option.
  6. Click the Finish button.
  7. Select any empty cell inside your Excel document -> press the Ctrl+1 keys on your keyboard.
  8. Select the Custom format option found at the bottom of the list.
  9. In the text box -> type YYYY/MM/DDD -> press Ok.

Here’s how to change the Windows default date format

Because in some cases the formats used for dates can be confusing, it is recommended that you change the default Windows date format to simplify the process in the long run.

Of course, this specific setting will depend on your requirements, but you can follow these steps to set it:

  1. Press Win+R keys -> type control international > press Enter.
  2. Under the Formats tab -> check or change the default formats available.
  3. Click the drop-down lists and choose the desired option.
  4. Press Ok to save the settings.

Note icon
NOTE

Changing the Windows date format settings will affect all the applications installed on your PC, and not only the options found in MS Excel.

Conclusion

In today’s article, we discussed the most efficient way of dealing with Excel not changing the date format.

If you found this guide helpful please don’t forget to let us know. You can do so by using the comment section found below this article.

newsletter icon

Newsletter

Исправление чисел, превратившихся в даты

При импорте в Excel данных из внешних программ, иногда возникает весьма неприятная проблема — дробные числа превращаются в даты:

Испорченные данные

Так обычно происходит, если региональные настройки внешней программы не совпадают с региональными настройками Windows и Excel. Например, вы загружаете данные с американского сайта или европейской учётной системы (где между целой и дробной частью — точка), а в Excel у вас российские настройки (где между целой и дробной частью — запятая, а точка используется как разделитель в дате).

При импорте Excel, как положено, пытается распознать тип входных данных и следует простой логике — если что-то содержит точку (т.е. российский разделитель дат) и похоже на дату — оно будет конвертировано в дату. Всё, что на дату не похоже — останется текстом.

Давайте рассмотрим все возможные сценарии на примере испорченных данных на картинке выше:

  • В ячейке A1 исходное число 153.4182 осталось текстом, т.к. на дату совсем не похоже (не бывает 153-го месяца)
  • В ячейке A2 число 5.1067 тоже осталось текстом, т.к. в Excel не может быть даты мая 1067 года — самая ранняя дата, с которой может работать Excel — 1 января 1900 г.
  • А вот в ячейке А3 изначально было число 5.1987, которое на дату как раз очень похоже, поэтому Excel превратил его в 1 мая 1987, услужливо добавив единичку в качестве дня:

    Неправильная дата

  • То же самое случилось и в ячейке А4, где изначально было число 12.6923. Причем 6923-й год Excel тут нисколько не смутил — для него главное, чтобы дата была не раньше 1900 года. Так что добро пожаловать в далекое будущее:

    Еще одна неправильная дата

  • Единственное, что распознаётся корректно — это числа без дробной части (число 1000 в ячейке А6). И на том спасибо :)

Вот такие варианты. И если текстовые числа ещё можно вылечить банальной заменой точки на запятую, то с числами превратившимися в даты такой номер уже не пройдет. А попытка поменять их формат на числовой выведет нам уже не исходные значения, а внутренние коды дат Excel — количество дней от 01.01.1900 до текущей даты:

Неправильное число после изменения формата

Лечится вся эта история тремя принципиально разными способами.

Способ 1. Заранее в настройках

Если данные ещё не загружены, то можно заранее установить точку в качестве разделителя целой и дробной части через Файл — Параметры — Дополнительно (File — Options — Advanced):

Настройка разделителей в окне параметров Excel

Снимаем флажок Использовать системные разделители (Use system separators) и вводим точку в поле Разделитель целой и дробной части (Decimal separator).

После этого можно смело импортировать данные — проблем не будет.

Способ 2. Формулой

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

Формула исправления чисел из дат

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

В английской версии это будет:

=—IF(CELL(«format«;A1)=»G»; SUBSTITUTE(A1;».»;»,»); TEXT(A1;»M,YYYY«))

Логика здесь простая:

  • Функция ЯЧЕЙКА (CELL) определяет числовой формат исходной ячейки и выдаёт в качестве результата «G» для текста/чисел или «D3» для дат.
  • Если в исходной ячейке текст, то выполняем замену точки на запятую с помощью функции ПОДСТАВИТЬ (SUBSTITUTE).
  • Если в исходной ячейке дата, то выводим её в формате «номер месяца — запятая — номер года» с помощью функции ТЕКСТ (TEXT).
  • Чтобы преобразовать получившееся текстовое значение в полноценное число — выполняем бессмысленную математическую операцию — добавляем два знака минус перед формулой, имитируя двойное умножение на -1.

Способ 3. Макросом

Если подобную процедуру лечения испорченных чисел приходится выполнять часто, то имеет смысл автоматизировать процесс макросом. Для этого жмём сочетание клавиш Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer), вставляем в нашу книгу новый пустой модуль через меню Insert — Module и копируем туда такой код:

Sub Fix_Numbers_From_Dates()
    Dim num As Double, cell As Range

    For Each cell In Selection
        If Not IsEmpty(cell) Then
            If cell.NumberFormat = "General" Then
                num = CDbl(Replace(cell, ".", ","))
            Else
                num = CDbl(Format(cell, "m,yyyy"))
            End If
            cell.Clear
            cell.Value = num
        End If
    Next cell
End Sub

Останется выделить проблемные ячейки и запустить созданный макрос сочетанием клавиш Alt+F8 или через команду Макросы на вкладке Разработчик (Developer — Macros). Все испорченные числа будут немедленно исправлены.

Ссылки по теме

  • Как Excel на самом деле работает с датами и временем
  • Замена текста функцией ПОДСТАВИТЬ
  • Функция ВПР и числа-как-текст

   Ezhov

07.07.08 — 11:16

Обнаружилась фича — при сохранении в Excel сформированного отчета поля типа «дата» получают формат «Общий».В макете отчета для ячейки явно указан тип «дата», формат (без времени) и даже правое выравнивание, характерное для даты Excel.

В самом Excele преобразовать полученные значения к «дате» не удалось.

Региональные настройки дергал — не помогло.

   ТелепатБот

1 — 07.07.08 — 11:16

   Ezhov

2 — 07.07.08 — 11:26

Где вы, гуру!

Неужто никто не встречал этих граблей :(

   Ezhov

3 — 07.07.08 — 12:08

ап

   Sadovnikov

4 — 07.07.08 — 12:16

В семерке помогало такое:

1. Расположение — по левому краю.

2. В ячейку пишется

Значение = «» + ТЗ.ПолучитьЗначение(ТЗ.НомерСтроки, Показатель) + РазделительСтрок;

   wPa

5 — 07.07.08 — 12:23

Тебе в экселе нужен именно тип дата? можешь обосновать почему не подходит текстовое представление?

   Ezhov

6 — 07.07.08 — 12:32

Конфы «Конвертация» у меня нет. Поэтому в конфигурации-доноре формирую отчет по некоему справочнику, имеющему реквизит — дату. Сохраняю его в Экселе. С помощью обработки Александра Окунева (респект ему) заливаю из Экселя в справочник в конфигурации-приемнике. Все пашет на ура, проблема только в том, что в реквизит «дата» я пихаю нечто «общее», а это не прокатывает.

   wPa

7 — 07.07.08 — 12:42

а если формат ячейки в выгрузке Selection.NumberFormat = «m/d/yyyy» то прокатывает? имхо не сможет без времени. я загружаю так из экселя:

ДатаРождения = Дата(СокрЛП(СЗ[10].Значение)+» 00:00:00″);

   Ezhov

8 — 07.07.08 — 12:55

Обработка универсальная, поэтому используется конструкция вида

Лист.Cells(Строка,Поле.Значение).value.

Если только отслеживать имя поля и добавлять время только для него ?

   wPa

9 — 07.07.08 — 13:01

Проблема не в экселе, а в загрузке — Дата(Лист.Cells(Строка,Поле.Значение).value) даст ошибку в любом случае без времени.

Я не видел обработку, но по идее где-то должна быть разборка по типам полей.

По имени поля — испортишь хорошую вещь )

Если нет разборки — добавь

Проверь на тип ячейки экселя.

если Лист.Cells(Строка,Поле.Значение).NumberFormat = «m/d/yyyy»  (ну или какой там у тебя формат) тогда

Дата(СокрЛП(Лист.Cells(Строка,Поле.Значение).value)+» 00:00:00″)

если Лист.Cells(Строка,Поле.Значение).NumberFormat = «@» тогда

СокрЛП(Лист.Cells(Строка,Поле.Значение).value)

и т.д.

   Вадяс

10 — 07.07.08 — 13:10

Не парься с Exelem. Сохраняй в mxl!

   Ezhov

11 — 07.07.08 — 13:12

В обработке так — в первой строке идут имена полей, начиная со 2-й строки — значения. Сначала анализируются имена, затем идет собственно добавка :

           Для Колонка = 1 По 256 Цикл

       ИмяПоля = Лист.Cells(1,Колонка).Value;

       Если ИмяПоля <> «» Тогда

                     …..  

                     Если ЕстьРеквизит(ИмяСправочника,СтрВыбор(1,ИмяПоля))Тогда

                ПоляExcel.Вставить(ИмяПоля,Колонка);

             КонецЕсли;

       Иначе  

             Прервать;    

       КонецЕсли;

               
            КонецЦикла;

             
       ДобавитьНовыеЭлементыВТаблицу(ИмяСправочника);

…а внутри этой процедуры :

   Для Строка = 2 По ПоследняяСтрока Цикл

         
         ОкноИсполнения.Индикатор =  цел(Строка/ПоследняяСтрока*100);

         ОбработкаПрерыванияПользователя();

         НовыйЭлемент = Таблица.Добавить();

         Для Каждого Поле Из ПоляExcel Цикл

            Попытка

              НовыйЭлемент[Поле.Ключ] = Лист.Cells(Строка,Поле.Значение).value;

            ….

   Ezhov

12 — 07.07.08 — 13:22

(10) А подробнее ?

Сама обработка хороша, позволяет заливать многоуровневые справочники, иметь помимо реквизитов простых типов реквизиты типа «справочник» и «перечисление».

Только вот эту фичу осталось победить.

   Ezhov

13 — 07.07.08 — 13:38

Заработало!

Если Лист.Cells(Строка,Поле.Значение).NumberFormat=»ДД.ММ.ГГГГ» Тогда

 НовыйЭлемент[Поле.Ключ] = Дата(СокрЛП(Лист.Cells(Строка,Поле.Значение).value)+» 00:00:00″)

 Иначе

    НовыйЭлемент[Поле.Ключ] = Лист.Cells(Строка,Поле.Значение).value;

КонецЕсли;    

wPa, чем объяснить фичу с добавкой времени?

   wPa

14 — 07.07.08 — 13:54

Может сделал бы разборку на формат ячейки экселя?

типо в попытку

ФорматЯчейки = Лист.Cells(Строка,Поле.Значение).NumberFormat;

Если ФорматЯчейки = «@» Тогда //текст

  ЗначениеЯчейки = Лист.Cells(Строка,Поле.Значение).value;

ИначеЕсли ФорматЯчейки = «m/d/yyyy» Тогда //дата

  ЗначениеЯчейки = Дата(Строка(Лист.Cells(Строка,Поле.Значение).value)+» 00:00:00″)

ну и т.д.

(13) ф-ция Дата(«01.01.2001″) выдаст ошибку преобразования типов строка-дата, потому как строковое представление даты имеет формат дата +» «+время.

Но в таком виже преобразование сработает — Дата(«01.01.2001″+» «+»00:00:00»)

Понравилась статья? Поделить с друзьями:
  • Excel не рассчитывается числа
  • Excel не сохраняет файлы с тем же именем
  • Excel не распознает числа как числа
  • Excel не сохраняет файл с графиком
  • Excel не сохраняет файл в сетевой папке