Excel некорректно отображает дату

Работа с датами в Excel.
Устранение типовых ошибок

В ячейках Excel могут быть числа, текст, формулы, ссылки на ячейки и даты.
Даты имеют свою специфику, в первую очередь, из-за большого количества форматов.
Мы разберем основы работы с датами и решение типовых ошибок, с которыми мы сталкиваемся.

Что такое даты для Excel?

Дата и Время — это числа для Excel. Целая часть — номер дня, а все что идет после запятой — время. Если перевести в разные форматы, получим следующее:

То есть 12.07.2016 12:50:30 для Excel значение — 42563,5350694,

Где 42563 — это порядковый номер дня с 1 января 1900 года, а часть после запятой — это время.

С датами можно производить вычисления. Например, вычитать или складывать даты.

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

Основные ошибки с датами и их решение

Перевод разных написаний дат

Разные системы в выгрузках выдают даты по-разному, например: 12.07.2016 12-07-16 16-07-12 и так далее. Иногда месяца пишут текстом. Для того, чтобы привести даты к одному формату мы используем функцию ДАТА:

Синтаксис: =ДАТА(ЛЕВСИМВ(A2;4);ПСТР(A2;5;2);ПРАВСИМВ(A2;2))

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

Дата определяется как текст

Проблемы с датами начинаются, когда мы импортируем данные из других источников. При этом, даты могут выглядеть нормально, но при этом являться текстом. С ними нельзя проводить вычисления, группировки в сводных таблицах, сортировать. Есть 2 решения, которые позволяют сделать это автоматически: 1. Получение значения даты; 2. Умножение текстового значения на единицу.

Получение значения даты

С помощью формулы ЗНАЧ мы выводим текстовое значение даты, потом его форматируем как Дату:

Синтаксис: =ЗНАЧЕН(A7)

Умножение текстового значения на единицу

Принцип аналогичный предыдущему, только мы текстовое значение умножаем на единицу и после этого форматируем как дату:

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

Очистка дат от некорректных символов
Чтобы привести к нужному стандарту, часть дат можно очистить с помощью функции Найти и Заменить. Например, поменять слэши («/») на точки:

То же самое можно сделать формулой ПОДСТАВИТЬ

Синтаксис: =ЗНАЧЕН(ПОДСТАВИТЬ(A2;»-«;».»))

Итак, мы разобрали основные варианты решения проблем с датами. Конечно, способов гораздо больше. И подобные преобразования удобнее делать через Power Query, который очень хорошо понимает и преобразовывает даты, но об этом в следующей статье.

Hi @Wyn Hopkins 

I know I am a few years late to the conversation, however I am faced with the same issue.

I’ve adopted your solution, within the workbook, to «to highlight the column of dates and then select Data > Text to columns > Finish».

I am automating reports for clients and wondering if this command above, or something similar, can be implemented into a snowflake script to ensure that once the code has run, results are exported to a CSV file, that the file opens with the timestamp date showing instantly… rather than asking the client to do the manual workaround you have mentioned!

any help would be great (very new to the community).

Thank you

Почему не меняется формат даты в 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. Если же это не дало результата, проверьте возможность применения одного из рассмотренных выше методов.

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

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

Содержание

  1. Excel некорректно отображает дату
  2. Основные ошибки с датами и их решение
  3. Исправление чисел, превратившихся в даты
  4. Способ 1. Заранее в настройках
  5. Способ 2. Формулой
  6. Способ 3. Макросом
  7. Почему не меняется формат даты в Excel
  8. Причины и пути решения
  9. Как поменять формат в Excel
  10. Почему вместо цифр получается дата в эксель
  11. Дата вместо цифр в Microsoft Excel
  12. Ошибка при открытии .txt в Excel

Excel некорректно отображает дату

То есть 12.07.2016 12:50:30 для Excel значение — 42563,5350694,

Где 42563 — это порядковый номер дня с 1 января 1900 года, а часть после запятой — это время.

С датами можно производить вычисления. Например, вычитать или складывать даты.

Основные ошибки с датами и их решение

Перевод разных написаний дат

Разные системы в выгрузках выдают даты по-разному, например: 12.07.2016 12-07-16 16-07-12 и так далее. Иногда месяца пишут текстом. Для того, чтобы привести даты к одному формату мы используем функцию ДАТА:

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

Дата определяется как текст

Проблемы с датами начинаются, когда мы импортируем данные из других источников. При этом, даты могут выглядеть нормально, но при этом являться текстом. С ними нельзя проводить вычисления, группировки в сводных таблицах, сортировать. Есть 2 решения, которые позволяют сделать это автоматически: 1. Получение значения даты; 2. Умножение текстового значения на единицу.

Получение значения даты

С помощью формулы ЗНАЧ мы выводим текстовое значение даты, потом его форматируем как Дату:

Умножение текстового значения на единицу

Принцип аналогичный предыдущему, только мы текстовое значение умножаем на единицу и после этого форматируем как дату:

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

Очистка дат от некорректных символов
Чтобы привести к нужному стандарту, часть дат можно очистить с помощью функции Найти и Заменить. Например, поменять слэши («/») на точки:

То же самое можно сделать формулой ПОДСТАВИТЬ

Источник

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

При импорте в 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) :

    Снимаем флажок Использовать системные разделители (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 и копируем туда такой код:

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

    Источник

    Почему не меняется формат даты в Excel

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

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

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

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

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

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

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

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

    1. Жмите нужную ячейку, где формат даты в Эксель не меняется.
    2. Кликните сочетание Ctrl+Shift+#.
    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).

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

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

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

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

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

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

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

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

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

    Источник

    Почему вместо цифр получается дата в эксель

    Дата вместо цифр в Microsoft Excel

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

    Формат ячеек

    Давайте для начала разберем, в каких случаях может такое происходить. Например, пользователь создал новый документ и вписал в ячейку “5.6”. У него программа автоматически исправила на “05.июн”, а в значении самой ячейки стоит “05.06.2016”.

    Такое происходит из-за неправильного формата ячейки. Чтобы это исправить, нужно выделить ячейку или несколько, нажать правой кнопкой мыши и выбрать пункт “Формат ячеек”. Теперь необходимо выбрать вариант форматирование конкретной ячейки. У Вас автоматически стоял вариант “Дата”, а для правильного отображение чисел нужно выбрать “Числовой”.

    Настройка формата ячеек

    Хочу обратить внимание, что Вы можете выбрать число десятичных знаков, то есть, какое количество цифр у Вас будет после запятой. Так же есть возможность автоматического форматирования разделителя групп разрядов, то есть число “123456” будет выглядеть, как “123 456”.

    Ошибка при открытии .txt в Excel

    Иногда бывают моменты, что приходится открывать файл формата .txt в таблице Excel. Что делать, когда огромное количество строк отображаются неверно? На самом деле тут все тоже очень просто.

    Для начала заходим в раздел “Сервис”, далее выбираем раздел “Параметры”, а потом “Международные”. Обратите внимание, галочка на пункте “Использовать системные разделители” должна стоять. Возможно проблема в том, что она у Вас не стоит.

    Источник

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

    При импорте в 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 на самом деле работает с датами и временем
    • Замена текста функцией ПОДСТАВИТЬ
    • Функция ВПР и числа-как-текст

    Like this post? Please share to your friends:
  • Excel неизменяемое значение в формуле excel
  • Excel неизменяемая ячейка формула
  • Excel неизменяемая формула в ячейке
  • Excel неизменяемая ссылка на ячейку
  • Excel незащищенная формула ошибка