Почему эксель меняет цифры на другие
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Excel: объединение ячейки с датой и текста
Очень актуальный вопрос. Например, Вам необходимо ввести заголовок документа «Договор на поставку №125 от 01.01.2015», при этом номер и дата договора хранятся в отдельных ячейках на листе. Попробуем Сцепить текст и дату в Excel.
Если просто применить функцию Сцепить , вместо даты в итоговой ячейке отобразится число, так как даты в Excel хранятся в числовом формате, и именно это внутреннее представление даты мы и увидим в результате работы функции Сцепить ( ) .

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

Первый аргумент функции Текст ( ) – это значение, которое необходимо отформатировать.
Второй аргумент функции Текст ( ) – это формат, в котором необходимо представить число.
Значение «ДД.ММ.ГГГГ» говорит о том, что в текстовом представлении даты должны быть использованы двузначные значения для дня (ДД) и месяца (ММ), и четырехзначное представление года (ГГГГ).
Можно использовать и другие текстовые представления формата даты.

Совместное использование функций Сцепить ( ) и Текст ( ) позволит сцепить текст и дату, и получить необходимый результат.
Последние цифры заменяются на ноли при введении длинных чисел в ячейки Excel
При введении числа, содержащего более 15 цифр в ячейку в Microsoft Excel, Excel заменяет любые цифры после пятнадцатого разряда на ноли. Например, введите идентификационный номер кредитной карты в следующем формате:
В этом случае Excel заменяет последнюю цифру на ноль.
Причина
Excel следует спецификации IEEE 754 в отношении хранения и вычисления чисел с плавающей точкой. Excel сохраняет только 15 значащих цифр числа и изменяет цифры после пятнадцатого разряда на ноль
Обходной путь
Добавить кавычку
Чтобы предотвратить изменение цифр на ноли, добавьте одинарную кавычку перед вводом числа.
Для этого выделите пустую ячейку, введите одну кавычку (‘), а затем введите число. Все цифры отображаются в ячейке.

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

- Выберите все затронутые ячейки и нажмите Ctrl+1, чтобы открыть диалоговое окно Формат ячеек.
- На вкладке Число выберите Текст из списка Категория, а затем выберите ОК.
Дополнительная информация
Это происходит только в том случае, если для ячейки задан формат Число, а введенное число содержит более 15 цифр. В форматированные в виде текста ячейки можно ввести до 32 767 символов. На листе Excel отображается до 1024 символов.
Так как настраиваемые форматы чисел предназначены для работы в основном с числами, невозможно создать настраиваемый формат номеров, который хранит более 15 цифр. Например, нельзя использовать следующий формат для хранения 16-символьного удостоверения кредитной карты в виде числа:
Однако, если ввести такое число в ячейке, которая форматирована как текст, все символы остаются в том виде, в котором они введены, так как Excel сохраняет это число в виде текста, а не числа.
Требуется дополнительная помощь? Зайдите на сайт сообщества Майкрософт.
Обратная связь
Были ли сведения на этой странице полезными?
Исправление превратившихся в даты чисел в Microsoft Excel

Пользователи регулярно вставляют различные исходные данные на листы в Excel, содержащие числа разных форматов и с разным отделением дробной части от целой. Некоторые из них могут быть считаны алгоритмом как даты и, соответственно, формат ячейки поменяется на соответствующий. Вручную изменение формата ячейки в этом случае не дает никакого результата, поэтому нужно искать другие варианты решения, исправляя превратившиеся в даты числа. Как раз об этом и пойдет речь в рамках данного материала.
Описание сути проблемы
Посмотрите на следующий скриншот. Я специально несколько чисел записал с одинаковым разделителем дробной части от целой, чтобы показать, как Эксель автоматически форматирует их в даты. Такое конвертирование происходит только в том случае, если само число может являться датой. Например, это будет 6.1995 – такое число отобразится как июн.95 и вернуть ему прежний формат уже проблематично.
![]()
Связано это с тем, что Excel очень сильно зависит от региональных настроек и может воспринимать разные записи чисел как потенциальные даты, автоматически переводя их в такие. Особенно это касается тех случаев, когда пользователь указывает нестандартный разделитель, то есть использует точку вместо запятой.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Вариант 1: Предварительное изменение параметров программы
Первый вариант является подготовительным и подойдет в тех случаях, когда вы только собираетесь вставить числа с возможными неправильными разделителями. Суть заключается в изменении параметров правки и выборе своего разделителя, чтобы конвертирование не происходило автоматически. Для решения данной задачи вам понадобится выполнить следующие шаги:
- Если какая-либо книга уже открыта, перейдите на вкладку «Файл», выбрав ее на панели слева.

- В главном окне Microsoft Excel на панели слева щелкните по пункту «Параметры».

- Выберите раздел с настройками «Дополнительно» и снимите галочку с пункта «Использовать системные разделители».

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

Вариант 2: Использование формулы
Далее поговорим о том, как исправить уже вставленные числа, которые подверглись автоматическому конвертированию. Для этого понадобятся вспомогательные ячейки, а также использование простой формулы с несколькими видами вычислений. Вот она:
=--ЕСЛИ(ЯЧЕЙКА("формат";A1)="G"; ПОДСТАВИТЬ(A1;".";","); ТЕКСТ(A1;"М,ГГГГ"))
![]()
В этой формуле происходит анализ выбранной ячейки на ее тип. Если он оказывается текстовым, то есть датой, происходит замена точки на запятую с помощью функции ТЕКСТ. Само преобразование обеспечивается двойным умножением на -1, для чего два минуса и стоят в начале формулы. Выглядит это немного непонятно, но работает идеально во всех случаях, что видно на следующем изображении.
![]()
Полученные данные можно скопировать и заменить оригиналы, а также формула, как и любые другие, доступна для растягивания. Если значения в ячейке нет, вы получите соответствующее уведомление. В случае, когда число не требует преобразования обратно, оно будет показано в оригинальном виде.
![]()
Вариант 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, следуйте предложенной инструкции:
- На верхней панели выберите вкладку «Разработчик» и запустите инструмент «Visual Basic».

- Откройте меню «Insert» и выберите из него пункт «Module».

- В окно редактирования модуля вставьте указанный выше код и закройте его.

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

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

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

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

Таким образом вы узнали, что при помощи трех разных вариантов можно быстро исправить числа, поменявшиеся на даты в Excel, а также ограничить их автоматическое преобразование в дальнейшем. Выбор варианта остается за вами, после чего следует только повторить инструкцию.
Читайте также в Комьюнити:
- Как использовать функцию ДЛСТР в Microsoft Excel
- Открытие Microsoft Excel в разных окнах
- Как отобразить день недели по дате в Microsoft Excel