Лишние нули в Microsoft Excel — одна из самых распространённых проблем при работе с данными. Они появляются при импорте из других систем, копировании из веб-страниц или после некорректного форматирования ячеек. Ведущие нули (например, 00123 вместо 123) искажают сортировку и поиск, а ненужные знаки после запятой (15,00 вместо 15) усложняют анализ. В этой статье разберём, как убрать 00 в Excel разными способами — от элементарных до продвинутых, с учётом особенностей версий Excel 2016–2026 и Excel Online.
Важно понимать, что метод удаления зависит от типа данных и контекста. Например, ведущие нули в номерах документов (как в 000-123-456) нельзя просто отформатировать как число — это приведёт к потере значимых символов. А лишние нули после запятой в финансовых отчётах иногда требуется сохранить для корректного округления. Мы рассмотрим решения для всех сценариев, включая автоматизацию через Power Query и VBA.
Почему в Excel появляются лишние нули?
Нули в ячейках Excel возникают не случайно. Их появление связано с внутренней логикой программы и внешними источниками данных. Вот основные причины:
- 📥 Импорт из CSV/ТXT: многие системы (например, 1С или банковские выписки) экспортируют данные с фиксированной длиной полей, дополняя их нулями (
0000012345). - 🔢 Автоформатирование чисел: Excel по умолчанию убирает ведущие нули, но сохраняет их в текстовом формате, что приводит к несоответствиям.
- 📊 Финансовые форматы: валюта и бухгалтерские данные часто отображаются с двумя знаками после запятой (
100,00 ₽), даже если они не значимы. - 🔄 Копирование из веб-страниц: HTML-таблицы могут содержать скрытые символы или форматирование, которое Excel интерпретирует как нули.
Интересно, что в Excel 365 и Excel 2021 появилась функция TEXTAFTER, которая упрощает работу с текстом, но для удаления нулей она подходит не всегда. А в старых версиях (например, Excel 2010) приходится использовать обходные пути.
Способ 1: Удаление ведущих нулей (00 в начале числа)
Ведущие нули — это нули перед первым значащим символом (например, 007 или 00012345). Их нельзя просто отформатировать как число, потому что Excel автоматически обрежет все нули слева. Рассмотрим надёжные методы.
Метод 1: Преобразование в текстовый формат
Если ведущие нули важны (например, в артикулах или номерах документов), ячейки нужно привести к текстовому формату до ввода данных:
- Выделите столбец или диапазон ячеек.
- Нажмите правой кнопкой →
Формат ячеек(илиCtrl+1). - Выберите категорию
Текстовый→ОК. - Введите или вставьте данные — нули сохранятся.
Внимание! Если данные уже введены как числа, этот метод не сработает. Придётся использовать формулы или Power Query.
Метод 2: Формула для удаления ведущих нулей
Если нули лишние, удалите их формулой:
=ЗНАЧЕН(ПСТР(A1;НАЙТИ(ЛЕВСИМВ(ПОДСТАВИТЬ(A1;"0";" "));A1);ДЛСТР(A1)))
Как это работает:
ПОДСТАВИТЬ(A1;"0";" ")— заменяет все нули на пробелы.ЛЕВСИМВиНАЙТИ— находят позицию первого ненулевого символа.ПСТР— извлекает строку с этого символа до конца.ЗНАЧЕН— преобразует результат в число (если нужно).
Выделить столбец с данными
Проверить формат ячеек (текст/число)
Скопировать формулу в соседний столбец
Проверка результата на 2-3 примерах-->
Метод 3: Power Query (для больших таблиц)
Если данных много (тысячи строк), используйте Power Query:
- Выделите таблицу → вкладка
Данные→Из таблицы/диапазона. - В редакторе Power Query выберите столбец →
Преобразовать→Формат→Удалить пробелы(если нули как текст). - Или используйте
Заменить значения: замените^0+(регулярное выражение) на пустоту. - Нажмите
Закрыть и загрузить.
Что делать, если Power Query не сохраняет формат?
Если после загрузки данные снова отображаются как числа, перед закрытием Power Query измените тип данных столбца на "Текст" вручную (правый клик по заголовку столбца → "Изменить тип" → "Текст").
Способ 2: Удаление нулей после запятой (00 в дробной части)
Нули после запятой (15,00, 3,14000) обычно появляются в финансовых или научных данных. Их можно убрать двумя способами: форматированием или округлением.
Метод 1: Форматирование ячеек
Самый быстрый способ — изменить отображение без изменения значения:
- Выделите ячейки →
Ctrl+1(Формат ячеек). - Выберите категорию
ЧисловойилиФинансовый. - Установите
Число десятичных знаков: 0.
Важно: это не удаляет нули из данных, а только скрывает их при отображении. В формулах и вычислениях нули останутся.
Метод 2: Округление функцией ОКРУГЛ
Если нули нужно удалить полностью (например, для дальнейшей обработки), используйте:
=ОКРУГЛ(A1; 0)
=ОКРУГЛ(A1; 2)
Для массового применения:
- Введите формулу в соседнем столбце.
- Скопируйте результаты →
Вставить значения(правый клик →Специальная вставка).
Метод 3: Удаление нулей в текстовом формате
Если данные stored как текст (например, "15,00"), используйте:
=ЗНАЧЕН(ПОДСТАВИТЬ(A1;",00";""))
=ЗНАЧЕН(ЛЕВСИМВ(A1;НАЙТИ(",";A1)-1))
Способ 3: Удаление всех нулей в ячейке (включая внутренние)
Иногда требуется удалить все нули в ячейке, включая те, что внутри строки (например, преобразовать A00B12C00 в AB12C). Для этого подойдут формулы с ПОДСТАВИТЬ или регулярные выражения.
Формула для удаления всех нулей
=ПОДСТАВИТЬ(A1;"0";"")
Но этот метод удалит все нули, включая значимые. Чтобы оставить нули внутри чисел (например, 100500 → 15 недопустимо), используйте:
=ЕСЛИ(ЕЧИСЛО(A1);A1;ПОДСТАВИТЬ(A1;"0";""))
Регулярные выражения (для Power Query)
В Power Query можно использовать Text.Replace с регулярками:
= Table.ReplaceValue(ИсходнаяТаблица;"0";"";Replacer.ReplaceText;{"Столбец1"})
Для удаления только ведущих/конечных нулей:
= Table.TransformColumns(ИсходнаяТаблица;{{"Столбец1"; each Text.TrimStart(Text.TrimEnd(_;"0");"0"); type text}})
Способ 4: Макросы VBA для автоматизации
Если приходится часто очищать нули, напишите простой макрос. Например, этот код удаляет ведущие нули во всех выделенных ячейках:
Sub УдалитьВедущиеНули()
Dim rng As Range
For Each rng In Selection
If rng.Value Like "0*" Then
rng.Value = Mid(rng.Value, InStr(rng.Value, Left(Replace(rng.Value, "0", " "), 1)))
End If
Next rng
End Sub
Чтобы запустить макрос:
- Нажмите
Alt+F11для открытия редактора VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите ячейки в Excel → запустите макрос (
Alt+F8→ выберитеУдалитьВедущиеНули→Выполнить).
⚠️ Внимание: Макросы отключают автоматическое сохранение в Excel Online. Перед запуском сохраните файл как .xlsm (с поддержкой макросов).
Способ 5: Специальные случаи (даты, телефоны, коды)
В некоторых данных нули несут смысловую нагрузку. Например:
| Тип данных | Пример | Как обрабатывать |
|---|---|---|
| Номера телефонов | +7 000 123-45-67 | Сохранять как текст, удалять только лишние пробелы |
| Почтовые индексы | 012345 | Форматировать как текст с ведущими нулями |
| Серийные номера | SN-00012345 | Использовать ПОИСК и ПСТР для избирательного удаления |
| Даты в формате YYYYMMDD | 20260515 | Преобразовать в дату через =ДАТА(ЛЕВСИМВ(A1;4);ПСТР(A1;5;2);ПРАВСИМВ(A1;2)) |
Для телефонных номеров лучше использовать специализированные функции или Power Query с шаблонами. Например, чтобы привести номер 80001234567 к виду +7 (000) 123-45-67, используйте:
= "+7 (" & ПСТР(A1;2;3) & ") " & ПСТР(A1;5;3) & "-" & ПСТР(A1;8;2) & "-" & ПСТР(A1;10;2)
Ошибки и их решения
При удалении нулей часто возникают типичные ошибки. Вот как их избежать:
- 🚫 #ЗНАЧ! при использовании ПОДСТАВИТЬ: появляется, если ячейка пустая. Используйте
=ЕСЛИ(A1="";"";ПОДСТАВИТЬ(A1;"0";"")). - 🚫 Некорректная сортировка после удаления нулей: если данные стали числами, добавьте ведущие нули обратно через формат
00000(правый клик →Формат ячеек→Числовой→ укажите количество знаков). - 🚫 Потеря данных при копировании: всегда используйте
Специальная вставка → Значения, чтобы избежать связей с формулами.
⚠️ Внимание: Если после удаления нулей числа отображаются как даты (например, 12.05.2026 вместо 12052026), измените формат ячеек на Текстовый до вставки данных.
FAQ: Частые вопросы
Можно ли убрать нули в Excel Online?
Да, но с ограничениями. В Excel Online недоступны макросы и Power Query, поэтому используйте формулы или ручное форматирование. Например, для удаления нулей после запятой:
- Выделите ячейки →
Формат → Числовой формат → Уменьшить разрядность. - Для ведущих нулей примените формулу
=ТЕКСТ(A1;"0")(если нули нужны для отображения).
Почему после удаления нулей числа превращаются в даты?
Excel автоматически интерпретирует числа в формате ММ.ДД.ГГГГ или ДД/ММ/ГГ как даты. Чтобы этого избежать:
- Перед вводом данных установите формат ячеек как
Текстовый. - Используйте апостроф перед числом:
'12052026(будет воспринято как текст).
Как убрать нули в столбце с смешанными данными (текст + числа)?
Если в столбце есть и текст (ABC001), и числа (00123), используйте комбинированную формулу:
=ЕСЛИ(ЕОШ(ЗНАЧЕН(A1));ПОДСТАВИТЬ(A1;"0";"");ЗНАЧЕН(ПСТР(A1;НАЙТИ(ЛЕВСИМВ(ПОДСТАВИТЬ(A1;"0";" "));A1);ДЛСТР(A1))))
Эта формула:
- Проверяет, является ли значение текстом (
ЕОШ(ЗНАЧЕН)). - Для текста удаляет все нули (
ПОДСТАВИТЬ). - Для чисел убирает только ведущие нули.
Есть ли разница между Excel 2019 и Excel 365 при удалении нулей?
Да, в Excel 365 доступны новые функции, упрощающие работу:
TEXTBEFORE/TEXTAFTER— для извлечения частей строк.LET— для создания многоступенчатых формул без промежуточных столбцов.- Улучшенный Power Query с поддержкой дополнительных преобразований.
В Excel 2019 этих функций нет, поэтому приходится использовать ПОИСК/ПСТР или макросы.
Как убрать нули в сводной таблице?
В сводных таблицах нули отображаются, если в исходных данных есть пустые ячейки или нулевые значения. Чтобы скрыть их:
- Щёлкните правой кнопкой по сводной таблице →
Параметры сводной таблицы. - Перейдите на вкладку
Макет и формат. - Поставьте галочку
Для пустых ячеек отображатьи оставьте поле пустым. - Для нулевых значений:
Параметры → Макет и формат → Для значений с нулем отображать→ укажите пробел или тире.