Почему в экселе не сохраняются цифры
Вам когда-нибудь приходилось импортировать или вводить в Excel данные, содержащие начальные нули (например, 00123) или большие числа (например, 1234 5678 9087 6543)? Это могут быть номера социального страхования, телефонные номера, номера кредитных карт, коды продуктов, номера счетов или почтовые индексы. Excel автоматически удаляет начальные нули и преобразует большие числа в экспоненциальное представление (например, 1,23E+15), чтобы их можно было использовать в формулах и математических операциях. В этой статье объясняется, как сохранить данные в исходном формате, который Excel обрабатывает как текст.
Симптомы
После ввода длинного номера (например, номера кредитной карты) в ячейке Excel номер отображается неправильно в Excel. Например,
Числовой формат по умолчанию в Excel является общим, поэтому вы можете отображать до 11 цифр в ячейке.
Вариант №1
Для начала рассмотрим один из наиболее эффективных путей, позволяющих устранить возникшую проблему в Excel. Алгоритм такой:
- Проверьте, в каком формате сохранена книга. Если в XLS, жмите на «Сохранить как» и «Книга Excel (*.xlsx). Иногда ничего не меняется из-за неправильного расширения.
- Откройте архив любой специальной программой.
- Найдите в нем следующие папки: _rels, docProps и xl.
- Войдите в xl и деинсталлируйте Styles.xml.
- Закройте архив.
- Измените разрешение на первичное .xlsx.
- Откройте книгу и согласитесь с восстановлением.
- Получите информацию об удаленных стилях, которые не получилось восстановить.
После этого сохраните книгу и проверьте — меняется форматирование ячеек в Excel или нет. При использовании такого метода учтите, что удаляются форматы всех ячеек, в том числе тех, с которыми ранее проблем не возникало. Убирается информация по стилю шрифта, цвету, заливке, границах и т. д.
Этот вариант наиболее эффективный, когда в Экселе не меняется формат ячеек, но из-за своего «массового» применения в дальнейшем могут возникнуть трудности с настройкой. С другой стороны, риск появления такой же ошибки в будущем сводится к минимуму.
Причина
Excel следует спецификации IEEE 754 в отношении хранения и вычисления чисел с плавающей точкой. Excel сохраняет только 15 значащих цифр числа и изменяет цифры после пятнадцатого разряда на ноль
Обходной путь
Для решения проблемы используйте один из указанных ниже способов.
Причины, почему не меняется форматирование в Excel
Для начала нужно разобраться, почему в Экселе не меняется формат ячеек, чтобы найти эффективный метод решения проблемы. По умолчанию при вводе цифры в рабочий документ к ней применяется выравнивание по правой стороне, а тип / размер определяется настройками системы.
Одна из причин, почему не меняется формат ячейки в Excel — появление конфликта в этом секторе, из-за чего стиль блокируется. В большинстве случаев проблема актуальна для документов в Эксель 2007 и более. Зачастую это обусловлено тем, что в новых форматах документов данные о форматировании ячеек находятся в схеме XML, а иногда при изменении происходит конфликт стилей. Excel, в свою очередь, не может установить и, как следствие, он не меняется.
Это лишь одна из причин, почему не работает формат в Excel, но в большинстве ситуаций она является единственным объяснением. Люди, которые сталкивались с такой проблемой, часто не могут определить момент, в которой она появилась. С учетом ситуации можно выделить несколько способов, как решить вопрос.
Вариант №5
Иногда бывают ситуации, когда проблема возникает при сохранении отчета в Excel из 1С. После выделения колонки с цифрами и попытки выбора числового формата с разделителями и десятичными символами ничего не меняется. При этом приходится по несколько раз нажимать на интересующий участок.
Для решения вопроса сделайте следующее:
- Выберите весь столбец.
- Кликните на «Данные», а далее «Текст по столбцам».
- Жмите на клавишу «Готово».
- Применяйте форматирование, которое вас интересует.
В комментарии расскажите, какое из решений дало ожидаемый результат, и какие еще шаги можно предпринять при возникновении подобной ошибки.
Связанные статьи
Ваше мнение важно для нас! Не стесняйтесь сообщать, что вы думаете об этой статье, используя поле комментария, расположенное внизу документа. Это позволит нам улучшить содержимое. Заранее спасибо!
Формат ячеек в Excel не меняется? Копируйте любую секцию, в которой форматирование прошло без проблем, выделите «непослушные» участки, жмите на них правой кнопкой мышки (ПКМ), а далее «Специальная вставка» и «Форматы». Существует и ряд других способов, позволяющих решить возникшую проблему. Ниже рассмотрим, почему происходит такой сбой и разберем методы его самостоятельного решения.
Вариант №3
Следующее решение, когда не меняется форматирование в Excel — попытка правильного выполнения работы. Сделайте следующее:
- Выделите ячейки, требующие форматирования.
- Жмите на Ctrl+1.
- Войдите в «Формат ячеек» и откройте раздел «Число».
- Перейдите в раздел «Категория», а на следующем шаге — «Дата».
- В группе «Тип» выберите подходящий формат информации. Здесь будет возможность предварительного просмотра формата с 1-й датой в данных. Его можно найти в поле «Образец».
Способ 2. Использование одинарной кавычки
При вводе длинного числа сначала введите одинарную кавычку (') в ячейке, а затем длинное число.
Например, введите '1234567890123456789, и одинарная кавычка не будет отображаться после нажатия ENTER.
Дополнительная информация
Это происходит только в том случае, если для ячейки задан формат Число, а введенное число содержит более 15 цифр. В форматированные в виде текста ячейки можно ввести до 32 767 символов. На листе Excel отображается до 1024 символов.
Так как настраиваемые форматы чисел предназначены для работы в основном с числами, невозможно создать настраиваемый формат номеров, который хранит более 15 цифр. Например, нельзя использовать следующий формат для хранения 16-символьного удостоверения кредитной карты в виде числа:
Однако, если ввести такое число в ячейке, которая форматирована как текст, все символы остаются в том виде, в котором они введены, так как Excel сохраняет это число в виде текста, а не числа.
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Формат ячеек
Чтобы не вводить кавычку в каждой ячейке, перед вводом каких-либо данных можно задать для этих ячеек текстовый формат.
Выберите все затронутые ячейки и нажмите Ctrl+1, чтобы открыть диалоговое окно Формат ячеек.
На вкладке Число выберите Текст из списка Категория, а затем выберите ОК.
Преобразование чисел в текст при импорте текстовых данных
Для форматирования отдельных столбцов в виде текста при импорте данных в Excel используйте функцию Получить и преобразовать (Power Query). В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.
Откройте вкладку Данные, нажмите кнопку Получить данные и выберите вариант Из текстового/CSV-файла. Если вы не видите кнопку Получить данные, выберите Создать запрос > Из файла > Из текста, найдите нужный файл и нажмите кнопку Импорт.
Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.
Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.
Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.
В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.
По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.
Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.
В Excel 2010 и Excel 2013 импортировать текстовые файлы и преобразовывать числа в текст можно двумя способами. Рекомендуется использовать Power Query (для этого нужно скачать надстройку Power Query). Если надстройку Power Query скачать не удается, можно воспользоваться мастером импорта текста. В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.
На ленте откройте вкладку Power Query и выберите Получение внешних данных > Из текста.
Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.
Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.
Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.
В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.
По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.
Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.
Обходной путь
Способ 1. Форматирование ячейки как текста
Для этого выполните следующие действия:
Щелкните правой кнопкой мыши поле со списком и выберите пункт Формат ячеек.
На вкладке Число выберите Текст, а затем нажмите ОК.
Затем введите длинное число. (Не забудьте установить формат ячейки, прежде чем ввести число)
Если вы не хотите видеть предупреждающие стрелки, нажмите на маленькую стрелку, а затем Пропустить ошибку.
Что делать
В ситуации, когда в Эксель не меняется формат ячейки, попробуйте один из предложенных ниже способов. Если метод вдруг не работает, попробуйте другой вариант. Действуйте до тех пор, пока проблему не удастся решить окончательно.
Добавить кавычку
Чтобы предотвратить изменение цифр на ноли, добавьте одинарную кавычку перед вводом числа.
Для этого выделите пустую ячейку, введите одну кавычку ('), а затем введите число. Все цифры отображаются в ячейке.
Вариант №2
Если формат ячеек вдруг не меняется в Excel, можно воспользоваться другим методом:
- Копируйте любую ячейку, с которой не возникало трудностей в этом вопросе.
- Выбелите проблемный участок, где возникла проблем, с помощью ПКМ.
- Выберите «Специальная вставка» и «Форматы».
Этот метод неплохо работает, когда в Эксель не меняется формат ячеек, хотя ранее в этом вопросе не возникали трудности. Его главное преимущество перед первым методом в том, что остальные установки сохраняются, и не нужно снова их задавать. Но есть особенность, которую нельзя не отметить. Нет гарантий того, что сбой программы Excel в дальнейшем снова на даст о себе знать.
Вариант №4
Следующее решение, когда Эксель не меняет формат ячейки — попробовать задать корректный режим работы. Алгоритм действий имеет следующий вид:
- Жмите на любую секцию с цифрой и кликните комбинацию Ctrl+C.
- Выделите диапазон, требующий конвертации.
- На вкладке «Вставка» жмите «Специальная вставка».
После этого попробуйте, меняется вариант форматирования с учетом вашего запроса, или неисправность сохраняется в прежнем режиме.
Применение пользовательского формата для сохранения начальных нулей
Если эту задачу необходимо решить в пределах книги, поскольку она не используется другими программами в качестве источника данных, для сохранения начальных нулей можно использовать пользовательский или специальный формат. Этот способ подходит для цифровых кодов, содержащих менее 16 цифр. Цифровые коды также можно отформатировать с использованием дефисов или других знаков препинания. Например, чтобы сделать телефонные номера более удобными для чтения, можно добавить дефисы между международным кодом, кодом области, префиксом и остальными цифрами.
= Мир MS Excel/Статьи об Excel
Приёмы работы с книгами, листами, диапазонами, ячейками [6] |
Приёмы работы с формулами [13] |
Настройки Excel [3] |
Инструменты Excel [4] |
Интеграция Excel с другими приложениями [4] |
Форматирование [1] |
Выпадающие списки [2] |
Примечания [1] |
Сводные таблицы [1] |
Гиперссылки [1] |
Excel и интернет [1] |
Excel для Windows и Excel для Mac OS [2] |
Достаточно часто в Excel выгружаются данные из сторонних программ для их дальнейшей обработки, и нередко дальнейшее использование этих данных в формулах даёт непредсказуемый результат: числа не суммируются, между датами невозможно рассчитать количество дней и т.д.
В этой статье рассматриваются причины появления таких проблем и различные способы их устранения
Причина первая . Число сохранено как текст
В этом случае видно, что числа или даты прижаты к левому краю ячейки (как текст) и, как правило, в левом верхнем углу ячейки имеется маркер ошибки (зелёный треугольник) и тег, который при наведении мышки поясняет, что число сохранено как текст.
Никакие изменения формата на Числовой, Общий или Дата ситуацию не исправляют, но если кликнуть в строку формул (или нажать F2), а затем Enter, то число становится числом, а дата датой. При большом количестве таких чисел вариант, согласитесь, неприемлемый.
Есть несколько способов решения данной проблемы
- С помощью маркера ошибки и тега. Если в левом верхнем углу ячеек виден маркер ошибки ( зелёный треугольник) и тег, то выделяем ячейки, кликаем мышкой по тегу и выбираем вариант Преобразовать в число
- С помощью операции Найти/Заменить. Предположим, в таблице есть числа с десятичной запятой, сохраненные как текст. Выделяем диапазон с числами -- нажимаем Ctrl+h (либо находим на вкладке Главная или в меню Правка для версий до 2007 команду Заменить) -- в поле Найти вводим , (запятую) -- в поле Заменить на тоже вводим , (запятую) -- Заменить все. Таким образом, делая замену запятой на запятую, мы имитируем редактирование ячейки аналогично F2 -- Enter
Подобную операцию можно осуществить и с датами с тем лишь отличием, что менять нужно точку на точку.
Кроме того, сторонние программы могут выгружать числа с точкой в качестве десятичного разделителя, тогда поможет замена точки на запятую.
Аналогичную замену можно проделать и формулой (см. ниже), используя функцию ПОДСТАВИТЬ()
- С помощью Специальной вставки. Этот способ более универсальный, так как работает и с дробными числами, и с целыми, а также с датами. Выделяем любую пустую ячейку -- выполняем команду Копировать -- выделяем диапазон с проблемными числами -- Специальная вставка -- Сложить -- ОК. Таким образом, мы к числам (или датам) прибавляем 0, что никак не влияет на их значение, зато переводит в числовой формат
Вариантом этого приёма может быть умножение диапазона на 1
- С помощью инструмента Текст по столбцам. Этот приём удобно использовать если преобразовать нужно один столбец, так как если столбцов несколько, то действия придётся повторять для каждого столбца отдельно. Итак, выделяем столбец с числами или датами, сохраненными как текст, устанавливаем формат ячейки Общий (для чисел можно установить, к примеру, Числовой или Финансовый). Далее выполняем команду Данные -- Текст по столбцам -- Готово
- С помощью формул. Если таблица позволяет задействовать дополнительные столбцы, то для преобразования в число можно использовать формулы. Чтобы перевести текстовое значение в число, можно использовать двойной минус, сложение с нулём, умножение на единицу, функции ЗНАЧЕН(), ПОДСТАВИТЬ(). Более подробно можно почитать здесь. После преобразования полученный столбец можно скопировать и вставить как значения на место исходных данных
- С помощью макросов. Собственно, любой из перечисленных способов можно выполнить макросом. Если Вам приходится часто выполнять подобное преобразование, то имеет смысл написать макрос и запускать его по мере необходимости.
Приведу два примера макросов:
1) умножение на 1
2) текст по столбцам
Причина вторая . В записи числа присутствуют посторонние символы.
Чаще всего этими посторонними символами являются пробелы. Они могут располагаться как внутри числа в качестве разделителя разрядов, так и до/после числа. В этом случае, естественно, число становится текстом.
Убрать лишние пробелы также можно с помощью операции Найти/Заменить. В поле Найти вводим пробел, а поле Заменить на оставляем пустым, далее Заменить все. Если в числе были обычные пробелы, то этих действий будет достаточно. Но в числе могут встречаться так называемые неразрывные пробелы (символ с кодом 160). Такой пробел придётся скопировать прямо из ячейки, а затем вставить в поле Найти диалогового окна Найти/Заменить. Либо можно в поле Найти нажать сочетание клавиш Alt+0160 (цифры набираются на цифровой клавиатуре).
Пробелы можно удалить и формулой. Варианты:
Для обычных пробелов: =--ПОДСТАВИТЬ(B4;" ";"")
Для неразрывных пробелов: =--ПОДСТАВИТЬ(B4;СИМВОЛ(160);"")
Сразу для тех и других пробелов: =--ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;СИМВОЛ(160);"");" ";"")
Иногда, чтобы добиться желаемого результата, приходится комбинировать перечисленные способы. Например, сначала удалять пробелы, а затем преобразовывать формат ячеек
При введении числа, содержащего более 15 цифр в ячейку в Microsoft Excel, Excel заменяет любые цифры после пятнадцатого разряда на ноли. Например, введите идентификационный номер кредитной карты в следующем формате:
В этом случае Excel заменяет последнюю цифру на ноль.
Читайте также: