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

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


Вот такие варианты. И если текстовые числа ещё можно вылечить банальной заменой точки на запятую, то с числами превратившимися в даты такой номер уже не пройдет. А попытка поменять их формат на числовой выведет нам уже не исходные значения, а внутренние коды дат 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 и копируем туда такой код:
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 на самом деле работает с датами и временем
- Замена текста функцией ПОДСТАВИТЬ
- Функция ВПР и числа-как-текст
Почему эксель меняет цифры на дату

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

- Несоответствие регионального формата исходных данных региональным настройкам вашей операционной системы. В исходных данных в качестве десятичного разделителя используется точка (американский формат), а у вас – региональные настройки, в которых десятичным разделителем является запятая, а точка воспринимается как разделитель отдельных составляющих даты – день, месяц, год (например, 17.09.202.
- Особое поведение 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: исправляем разными способами
Наверняка многие пользователи, работая в Экселе, сталкивались с такой проблемой, когда после ввода числа в ячейку, вместо него отображается дата. Давайте разберемся, почему такое происходит, и как решить эту проблему.
Содержание скрыть
- Возвращаем отображение чисел вместо дат
- Метод 1: используем контекстное меню
- Метод 2: пользуемся инструментами на ленте
- Метод 3: жмем горячие клавиши
Возвращаем отображение чисел вместо дат
Смотрите также: “Пропала строка формул в программе Excel: как вернуть”
На самом деле все достаточно просто – вместо числа в ячейке появляется дата по причине того, что для нее задан такой формат (“Дата”). Следовательно, чтобы мы видели именно числовое значение, требуется всего лишь сменить формат на тот, который нам нужен. Справиться с этим можно по-разному.
Метод 1: используем контекстное меню
Данное меню пользуется наибольшей популярностью среди пользователей Excel для решения множества задач. В нашем случае нам оно тоже может помочь.
- Правой кнопкой мыши кликаем по отдельной ячейке или заранее выделенному диапазону ячеек (например, с помощью зажатой левой кнопки мыши). В появившемся меню выбираем команду “Формат ячеек”.

- Мы должны оказаться в окне форматирования во вкладке “Число”. В поле “Числовые форматы” меняем формат “Дата” на “Числовой” (в некоторых случаях, если требуется, можно выбрать “Общий”, “Денежный” или “Текстовый”). Обращаем вниманием на область по надписью “Образец” – именно так будет отображаться содержимое ячейки после применения настроек. По готовности нажимаем OK.
Примечание: некоторые выбранные форматы можно настраивать, например, для числового можно задать количество десятичных знаков, а также включить/отключить разделитель групп разрядов. - Таким образом, нам удалось получить в выбранной ячейке (диапазоне ячеек) конкретное число вместо даты.

Метод 2: пользуемся инструментами на ленте
Этот способ используется реже, чем первый, несмотря на то, что является более простым и реализуется буквально в один клик.
- Встаем в нужную ячейку или выделяем требуемый диапазон элементов.
- Переключаемся во вкладку “Главная”, если находимся в другой, после чего в группе инструментов “Число” щелкаем по стрелке вниз рядом с текущим форматом (в нашем случае – это “Дата”).

- В раскрывшемся списке выбираем формат, который нам нужен (например, “Числовой”).

- Получаем числовые значения вместо дат. Но здесь есть важный нюанс – в отличие от первого метода, возможности детально настроить выбранные форматы у нас нет.
Примечание: Если щелкнуть по пункту “Другие числовые форматы” в конце списка, то откроется окно форматирования, с которым мы уже познакомились ранее.
Метод 3: жмем горячие клавиши
Этот способ используется редко, так как для его реализации нужно запомнить специальную комбинацию клавиш, и по сути, он является альтернативой использованию контекстного меню, позволяя обойтись без него.
Все, что нам нужно сделать – выбрать ячейку (или выделить диапазон), после чего нажать на клавиатуре сочетание Ctrl+1, после чего откроется уже знакомое окно форматирования.

Заключение
Смотрите также: “Как написать римские цифры в Экселе: ручной ввод, вставка символа, функция”
Таким образом, не стоит переживать, если вдруг после ввода числа в какой-либо ячейке таблицы Excel вместо него показывается дата. Все дело в несоответствующем формате, который можно сменить через окно форматирования или инструменты на ленте программы.