Excel несовместимо изменяет формат ячеек DATE

1044
Prem

Столбец 1 = То, что я ввел в ячейку.
Столбец 2 = какая строка формул показывает, когда выбрана ячейка.
Столбец 3 = Что ячейка показывает, когда ячейка не выбрана.

 1 | 2 | 3 ----------------------------------- 30-07-17 | 30-07-17 | 30-07-17 10-08-17 | 10/8/2017 | 08-10-2017 13-08-17 | 13-08-17 | 13-08-17 09-09-17 | 9/9/2017 | 09-09-2017 

Я пытался перепечатать, я пытался изменить формат, я пытался копировать-вставить формат: ничего не работает; строки 2 и 4 всегда такие, хотя формат одинаков для всех ячеек. Что случилось ? Это ошибка в Excel?

Я нахожусь на Windows 10, используя Excel 2016.

ОБНОВЛЕНИЕ: на основе входных данных, предоставленных @ScottCraner: если строка DATE в ячейке недопустима в соответствии с локальными настройками (например, когда MM = 13 или 30), строка не будет изменена, иначе она будет отображать DATE в некотором формате (например, «DD»). -MM-YYYY "формат, который может смешивать MM & DD).
Я должен набрать его в «ММ-ДД-ГГГГ», и он будет отображаться в формате «ДД-ММ-ГГГГ», что я и хочу.

Одна часть решена, но остаются сомнения:
если DATE недействителен, почему Excel не показывает предупреждение?
Строки 2 и 4, почему "-" меняется на "/"?

ДРУГОЕ ОБНОВЛЕНИЕ:
с дополнительной информацией от @RonRosenfeld, я думаю, что проблема решена.
(1) Если строка ввода ДАТА недопустима (в соответствии с региональными настройками), ячейка будет отображаться как есть, без форматирования.
(1A) Панель формул также покажет текст как есть.
(1B) Как правило, не будет никаких уведомлений пользователю. Если пользователь хочет получать уведомления об этой ошибке, он должен использовать проверку данных.
(2) Если строка ввода ДАТА является действительной (в соответствии с региональными настройками), ячейка будет отображаться в формате, заданном пользователем.
(2A) Панель формул покажет ее в региональных настройках.
(2B) Нет способа вернуть то, что именно набрал пользователь.

Excel автоматически меняет вещи, что немного сбивает с толку!
Спасибо @ScottCraner & @RonRosenfeld!

0
Он думает, что вы вводите дату, в то время как другие превосходно воспринимаются как строки, так как они не могут быть преобразованы в даты. Если вам нужны даты, вам нужно проверить локальные настройки, так как Excel считает, что локальная дата - это `mm / dd / yyyy`, а не` dd / mm / yyyy`. Если вы хотите строки, то измените весь столбец на текст и снова введите данные. Scott Craner 6 лет назад 1
@ScottCraner, это звучит правильно, но я попытался установить формат ячеек в dd / mm / yy; Проблема все еще сохраняется. Может быть, формат ячейки только для отображения, но я должен ввести в мм / дд / гг? Да, я попробовал сейчас, это работает! Спасибо ! Prem 6 лет назад 0
@ScottCraner, у меня все еще есть некоторые сомнения: почему столбец 1 меняется на столбец 2, когда он не может преобразовать DATE? Здесь "-" меняется на "/"! Prem 6 лет назад 0
Чтобы ответить на ваши сомнения: Если вы хотите, чтобы Excel принимал только действительные даты и предупреждал вас, вы используете проверку данных. Разница между тем, что вы видите на панели формул, и ячейкой, когда вы ввели правильную дату: на панели формул будут отображаться даты в формате настройки региональной краткой даты Windows на компьютере. В ячейке будет отображаться дата, отформатированная в соответствии с числовым форматом ячейки Excel. Ron Rosenfeld 6 лет назад 1
@RonRosenfeld, спасибо за информацию! Я включу это в вопрос Prem 6 лет назад 0
Если проблема решена, оставьте ответ. Первый пост это вопрос. Пожалуйста, не выдвигайте ответ в вопросе. Это позволит другим поднять голос Dave 6 лет назад 0

3 ответа на вопрос

1
Prem

С информацией из @ScottCraner & @RonRosenfeld, я думаю, что проблема решена.
(1) Если строка ввода ДАТА недопустима (в соответствии с региональными настройками), ячейка будет отображаться как есть, без форматирования.
(1A) Панель формул также покажет текст как есть.
(1B) Как правило, не будет никаких уведомлений пользователю. Если пользователь хочет получать уведомления об этой ошибке, он должен использовать проверку данных.
(2) Если строка ввода ДАТА является действительной (в соответствии с региональными настройками), ячейка будет отображаться в формате, заданном пользователем.
(2A) Панель формул покажет ее в региональных настройках.
(2B) Нет способа вернуть то, что именно набрал пользователь.

Excel автоматически меняет вещи, что немного сбивает с толку!
Спасибо @ScottCraner & @RonRosenfeld!

0
Blake

Используйте формулу = TEXT (A1, "dd-mm-yyyy"). Измените ее в соответствии с вашим конкретным форматом. Вы можете очистить формат ячеек, в которых вы собираетесь использовать формулу.

добро пожаловать в StackOverflow! спасибо за ваш обходной путь !! Prem 6 лет назад 0
0
dmb

Была такая проблема с макросами. Проблема зависит от локального var для дат.

Вы можете принудительно назначить дату, подобную этой. =Day("A2")&"/"&Month("A2")&"/"&Year("A2")Это будет работать, только если вам нужны строки.

Также есть этот "странный" (для меня, по крайней мере) формат числа "m / d / yyyy", он возьмет вас в локальную переменную и выведет правильную дату. Этот работал для меня последовательно, иначе дни и месяцы будут постоянно меняться без всякой логики. Я использовал этот как это в VBA.range(rng).FormatNumber = "m/d/yyyy"

ура

Интересно ! спасибо за этот обходной путь! Prem 6 лет назад 0

Похожие вопросы