Реклама ООО Таймвэб
Реклама ООО Таймвэб
Реклама ООО Таймвэб

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

Обсудить
Исправление превратившихся в даты чисел в Microsoft Excel

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

Описание сути проблемы

Посмотрите на следующий скриншот. Я специально несколько чисел записал с одинаковым разделителем дробной части от целой, чтобы показать, как Эксель автоматически форматирует их в даты. Такое конвертирование происходит только в том случае, если само число может являться датой. Например, это будет 6.1995 – такое число отобразится как июн.95 и вернуть ему прежний формат уже проблематично.

Пример превратившихся в даты чисел в Microsoft Excel

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

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться

Вариант 1: Предварительное изменение параметров программы

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

  1. Если какая-либо книга уже открыта, перейдите на вкладку «‎Файл», выбрав ее на панели слева.Открытие вкладки Файл для перехода в настройки Microsoft Excel

  2. ‎В главном окне Microsoft Excel на панели слева щелкните по пункту «‎Параметры».Переход в настройки Microsoft Excel для исправления чисел, превратившихся в даты

  3. Выберите раздел с настройками «‎Дополнительно» и снимите галочку с пункта «‎Использовать системные разделители».Поиск нужной настройки для изменения разделителя в Microsoft Excel

  4. В качестве разделителя целой и дробной части ‎‎‎укажите точку или любой другой знак, который в вашем случае является проблемным. Примените изменения и переходите к импорту чисел, проверяя их на отображение.Изменение разделителя для чисел через настройки Microsoft Excel

Вариант 2: Использование формулы

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

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

Вставка формулы для исправления превратившихся в даты чисел в Microsoft Excel

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

Пример использования формулы для исправления превратившихся в даты чиселв Microsoft Excel

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

Растягивание формулы исправления чисел в Microsoft Excel

Вариант 3: Создание и активация макроса

В завершение хотелось бы обратиться к среде разработки, встроенной в Microsoft Excel, которая называется Visual Basic. С ее помощью будет создан скрипт, проверяющий данные внутри выбранной ячейки и заменяющий разделитесь на нужный с конвертированием в подходящий формат ячейки. Сам код выглядит следующим образом:

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

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

  1. На верхней панели выберите вкладку «‎Разработчик» и запустите инструмент «‎Visual Basic».Переход к созданию макроса для исправления чисел в Microsoft Excel

  2. Откройте меню «‎Insert» и выберите из него пункт «‎Module».Создание макроса для исправления чисел в Microsoft Excel

  3. В окно редактирования модуля вставьте указанный выше код и закройте его.Ввод кода для макроса исправления чисел в Microsoft Excel

  4. Перед выходом из Visual Basic обязательно сохраните изменения, кликнув по значку с изображением шестеренки.Сохранение макроса исправления чисел в Microsoft Excel

  5. Остается выделить ячейку для конвертирования, а на той же вкладке «‎Разработчик» выбрать инструмент управления кодом «‎Макрос».Переход к запуску макроса исправления чисел в Microsoft Excel

  6. В списке макросов найдите только что созданный и дважды нажмите по нему левой кнопкой мыши, чтобы применить.Запуск макроса исправления чисел в Microsoft Excel

  7. Возвратитесь к таблице и убедитесь в том, что ‎‎‎‎‎‎число в ячейке было успешно исправлено на нужный формат. Повторите то же самое с остальными, а для быстрого применения макроса можете использовать сочетание клавиш Alt + F8.Проверка действия макроса исправления превратившихся в даты чисел в Microsoft Excel

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

Наши постоянные авторы и читатели делятся лайфхаками, основанными на личном опыте. Полная свобода самовыражения.

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте