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

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

Отмена автоматической замены чисел датами

Microsoft Excel предварительно программируется, чтобы упростить ввод дат. Например, 12/2 изменяется на 2-дек. Это очень неприятно, если вы вводите что-то, что не хотите менять на дату. К сожалению, отключить эту возможность не получится. Однако существует несколько способов обойти это.

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

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

  • Пробел перед вводом числа. После нажатия ввод пробел останется в ячейке. (См. заметки)
  • Апостроф (‘) перед вводом числа, например ’11-53 или ‘1/47. Апостроф не отображается в ячейке после нажатия ввода.
  • Нуль и пробел перед вводом дроби, например 1/2 или 3/4, чтобы они не менялись, например, на 2-янв или 4-мар. Введите 0 0 1/2 или 0 3/4. Ноль не остается в ячейке после нажатия ввод, и ячейка становится типом дробного числа.
  1. Выйдите из ячеек, в которые нужно ввести числа.
  2. Нажмите клавиши CTRL+1 (1 в строке чисел над клавишами QWERTY), чтобы открыть формат ячеек.
  3. Выберите тексти нажмите кнопку ОК.
  1. Выберите ячейки, в которые необходимо ввести числа.
  2. Щелкните Главная >Числовой формат >Текст.
  • Рекомендуется использовать апостроф вместо пробела для ввода данных, если вы планируете использовать функции подменю для данных. Такие функции, как ПОИСКПОЗ и ВПР, не учитывают апострофы при вычислении результатов.
  • Если число в ячейке выровнено по левому краю, обычно это означает, что оно не отформатировано как число.
  • При введении в ячейку числа с буквой «е», например 1e9, оно автоматически преобразуется в научное число: 1,00E+09. Чтобы избежать этого, введите перед числом апостроф: ‘1e9
  • В зависимости от введенного числа в левом верхнем углу ячейки может появиться маленький зеленый треугольник, указывающий на то, что число хранится как текст ,что для Excel является ошибкой. Не обращайте внимание на треугольник или щелкните его. Слева появится поле. Щелкните поле, а затем выберитеигнорировать ошибку , из-за чего треугольник будет отопуститься.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

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

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 Евгений Довженко

Проблема отображения числа в формате даты в Excel

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

Решение проблемы отображения числа как даты

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

Способ 1: контекстное меню

Большинство пользователей используют контекстное меню для решения этой проблемы.

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

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

Способ 2: изменение форматирования на ленте

Второй способ даже проще первого, хотя почему-то менее популярен среди пользователей.

  1. Выберите ячейку или диапазон с форматом даты.
  2. Находясь на вкладке «Главная» в панели инструментов «Число», откройте специальное поле форматирования. Содержит самые популярные форматы. Мы выбираем тот, который лучше всего подходит для конкретных данных.
  3. Если желаемый вариант не найден в представленном списке, нажмите в этом же списке пункт «Другие числовые форматы.
  4. Откроется точно такое же окно настроек форматирования, как и в предыдущем способе. Содержит более крупный список возможных изменений данных в ячейке. В результате дальнейшие действия также будут точно такими же, как и первый вариант устранения проблемы. Выберите нужный элемент и нажмите кнопку «ОК».

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

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

Исправление превратившихся в даты чисел в 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, а также ограничить их автоматическое преобразование в дальнейшем. Выбор варианта остается за вами, после чего следует только повторить инструкцию.

Читайте также в Комьюнити:

  • Как использовать функцию ДЛСТР в Microsoft Excel
  • Открытие Microsoft Excel в разных окнах
  • Как отобразить день недели по дате в Microsoft Excel

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

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