Как убрать точки в числах в Excel: от форматирования до макросов

Точки в числах Excel — типичная проблема при импорте данных из внешних источников (1С, банковские выписки, CSV-файлы). Они появляются как разделители тысяч (например, 1.000.000 вместо 1000000) или как десятичные разделители в европейском формате (3,14 vs 3.14). В этой статье разберём все способы очистки чисел от ненужных точек — от элементарного форматирования до автоматизации через Power Query и VBA.

Многие пользователи пытаются удалить точки вручную через Найти и заменить, но это часто приводит к ошибкам: Excel воспринимает числа как текст, а формулы перестают работать. Мы покажем, как избежать этих ловушек и сохранить числовой формат данных. Особое внимание уделим случаям, когда точки смешаны с запятыми (например, 1.234,56) — здесь потребуется комбинированный подход.

Если вы работаете с большими массивами данных (от 10 000 строк), ручные методы будут неэффективны. В таких случаях оптимально использовать Power Query (доступен в Excel 2016+) или написать простой макрос на VBA. Для разовых задач хватит и стандартных функций ПОДСТАВИТЬ или ЗАМЕНИТЬ, но они имеют ограничения — об этом подробнее в соответствующем разделе.

📊 Как часто вам приходится очищать данные в Excel от лишних символов?
Ежедневно
Раз в неделю
Редко
Никогда

1. Почему Excel добавляет точки в числа и как это исправить

Точки в числах появляются по двум основным причинам:

  1. Региональные настройки Windows. Если в системе установлен формат с точкой как разделителем тысяч (например, немецкий или французский), Excel автоматически применяет его ко всем новым книгам. Проверить это можно в Файл → Параметры → Дополнительно → Разделители.
  2. Импорт данных из внешних источников. Программы вроде , SAP или банковских систем часто экспортируют числа с точками, даже если ваш Excel настроен на запятые.

Чтобы раз и навсегда решить проблему с точками для новых файлов, измените региональные параметры:

  1. Откройте Панель управления → Часы и регион → Изменение форматов даты, времени и чисел.
  2. На вкладке Форматы выберите Русский (Россия) или Английский (США) — в них разделителем тысяч служит пробел или запятая.
  3. Перезапустите Excel — новые книги будут создаваться с корректными настройками.

⚠️ Внимание: Изменение региональных настроек повлияет на все программы в системе, а не только на Excel. Если вам нужно сохранить текущий формат для других приложений, используйте методы из следующих разделов.

2. Способ 1: Замена точек через «Найти и заменить» (быстро, но с подводными камнями)

Самый очевидный метод — функция Найти и заменить (Ctrl+H). Он работает для текстового формата, но имеет критические ограничения:

  • 🔹 Если числа хранятся как текст, замена пройдёт без проблем.
  • 🔹 Если числа в числовом формате, Excel может округлить значения после замены (например, 1.234 станет 1).
  • 🔹 Метод не отличает разделители тысяч от десятичных разделителей — придётся делать замену в два этапа.

Пошаговая инструкция:

  1. Выделите диапазон с данными.
  2. Нажмите Ctrl+H, в поле Найти введите . (точку), в поле Заменить на оставьте пустым.
  3. Нажмите Заменить всё.
  4. Если числа стали текстом (выровнены по левому краю), преобразуйте их обратно в числовой формат через Формат ячеек → Числовой.

☑️ Подготовка к замене точек

Выполнено: 0 / 4

⚠️ Внимание: Если в ваших данных точки используются и как разделители тысяч (1.000), и как десятичные разделители (3.14), этот метод не подходит — он удалит все точки подряд. В таком случае используйте формулы (раздел 4) или Power Query (раздел 6).

3. Способ 2: Изменение формата ячеек (без удаления точек)

Если точки в числах — это разделители тысяч (например, 1.000.000), их можно просто скрыть, изменив формат отображения:

  1. Выделите ячейки с числами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите категорию Числовой и снимите галочку Разделитель групп разрядов.

Этот способ не удаляет точки физически, а лишь скрывает их при отображении. Преимущества метода:

  • 🔹 Сохраняется числовой формат — формулы продолжают работать.
  • 🔹 Не требуется редактировать сами данные.
  • 🔹 Изменения обратимы (можно снова включить разделители).

Недостатки:

  • 🔸 При экспорте в CSV или копировании в другие программы точки могут снова появиться.
  • 🔸 Не работает, если точки используются как десятичные разделители.
Способ Подходит для Сохраняет числовой формат Удаляет точки физически
Найти и заменить Текстовых чисел ❌ Нет ✅ Да
Формат ячеек Числовых данных с разделителями тысяч ✅ Да ❌ Нет (скрывает)
Формулы (ПОДСТАВИТЬ) Любых данных ⚠️ Зависит от формулы ✅ Да
Power Query Больших массивов данных ✅ Да ✅ Да

4. Способ 3: Формулы для удаления точек (ПОДСТАВИТЬ, ЗАМЕНИТЬ, ЧИСТР)

Формулы позволяют гибко управлять заменой точек, учитывая контекст. Рассмотрим три варианта:

1. Простая замена всех точек (если они только разделители тысяч):

=ПОДСТАВИТЬ(A1; "."; "")

Эта формула заменит все точки в ячейке A1 на пустоту. Если в числе есть десятичный разделитель в виде точки (например, 3.14), он тоже будет удалён — число станет 314.

2. Замена точек с сохранением десятичного разделителя (если он запятая):

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "."; ""); ","; ".")

Эта комбинация сначала убирает все точки, а затем заменяет запятые на точки (преобразуя европейский формат 1.234,56 в 1234.56).

3. Удаление только разделителей тысяч (сложный случай):

Если точки используются и как разделители тысяч (1.000), и как десятичные разделители (3.14), потребуется формула с проверкой позиции точки:

=ЕСЛИ(ДЛСТР(A1)-ПОИСК(".";A1;ПОИСК(".";A1;1)+1)+1=3;

ПОДСТАВИТЬ(A1; "."; ""; 1);

ПОДСТАВИТЬ(A1; "."; ""))

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

Как работает формула с проверкой позиции точки

Формула ищет вторую точку в числе (ПОИСК(".";A1;ПОИСК(".";A1;1)+1)) и проверяет, осталось ли после неё ровно 2 символа (условие ДЛСТР(A1)-...+1=3). Если да — это десятичный разделитель, и первую точку удаляем отдельно (ПОДСТАВИТЬ с параметром 1).

5. Способ 4: Текст по столбцам (для смешанных форматов)

Если ваши данные содержат числа с точками в европейском формате (например, 1.234,56), где точка — разделитель тысяч, а запятая — десятичный разделитель, используйте инструмент Текст по столбцам:

  1. Выделите столбец с данными.
  2. Перейдите на вкладку Данные → Текст по столбцам.
  3. Выберите С разделителями → Далее.
  4. Снимите все галочки кроме Запятая и Точка.
  5. Нажмите Готово — Excel автоматически преобразует числа в локальный формат (например, 1234,56 для России).

⚠️ Внимание: Если в ячейках есть не только числа, но и текст (например, "Сумма: 1.234,56 руб."), инструмент Текст по столбцам разобьёт их на несколько колонок. В таких случаях предварительно выделите только числовые ячейки или используйте Power Query.

Преимущество этого метода — он сохраняет числовой формат и корректно обрабатывает десятичные разделители. Недостаток: не работает с данными, где точки и запятые используются хаотично (например, 1,234.56).

6. Способ 5: Power Query — автоматическая очистка больших массивов

Power Query (доступен в Excel 2016+) — самый мощный инструмент для очистки данных. Он позволяет:

  • 🔹 Обрабатывать миллионы строк без замедления.
  • 🔹 Сохранять шаги очистки для повторного использования.
  • 🔹 Работать с данными из разных источников (CSV, SQL, JSON).

Пошаговая инструкция:

  1. Выделите ваши данные и нажмите Данные → Из таблицы/диапазона (Excel преобразует диапазон в таблицу, если это ещё не сделано).
  2. В открывшемся окне Power Query выберите столбец с числами → Преобразовать → Заменить значения.
  3. В поле Значение для поиска введите ., в Замена оставьте пустым.
  4. Нажмите ОК, затем Закрыть и загрузить.

Для сложных случаев (например, когда нужно заменить точки на запятые в десятичной части, но удалить их как разделители тысяч) используйте пользовательский столбец с формулой на языке M:

= Text.Replace(Text.Replace([YourColumn], ".", ""), ",", ".")

Это преобразует 1.234,56 в 1234.56. После добавления столбца удалите оригинальный и переименуйте новый.

7. Способ 6: Макрос VBA для автоматической очистки

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

Sub RemoveDotsFromNumbers()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

If IsNumeric(Replace(cell.Value, ".", "")) Then

cell.Value = Replace(cell.Value, ".", "")

cell.NumberFormat = "General" ' Преобразуем в число

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите диапазон с данными и запустите макрос (Alt+F8 → RemoveDotsFromNumbers → Выполнить).

⚠️ Внимание: Макрос преобразует все точки в числах, включая десятичные разделители. Если в ваших данных используются точки как десятичные разделители (например, 3.14), модифицируйте код, добавив проверку на позицию последней точки.

8. Частые ошибки и как их избежать

При удалении точек в числах пользователи часто сталкиваются с следующими проблемами:

1. Числа превращаются в даты.

Если после замены точек Excel интерпретирует числа как даты (например, 01.05 становится 1 мая), выполните следующие шаги:

  • Выделите проблемные ячейки.
  • Нажмите Ctrl+1 и выберите формат Текстовый.
  • Скопируйте данные в Блокнот и обратно в Excel — это сбросит форматирование.

2. Формулы перестают работать.

Это происходит, если после замены точек числа остаются в текстовом формате. Решение:

  • Выделите ячейки с формулами, которые возвращают ошибку #ЗНАЧ!.
  • Нажмите на жёлтый значок ошибки рядом с ячейкой и выберите Преобразовать в число.

3. Потеря точности при округлении.

Если числа хранились как текст (например, "1.23456789"), а после замены точек Excel округлил их до 1.23457, верните исходный формат:

  • Увеличьте количество десятичных знаков в настройках формата ячеек.
  • Используйте функцию =ТЕКСТ(A1; "0.00000000"), чтобы принудительно отобразить все знаки.

FAQ: Ответы на частые вопросы

Можно ли удалить точки только в определённых ячейках, не затрагивая остальные?

Да. Выделите только нужный диапазон и примените Найти и заменить (Ctrl+H) или формулу ПОДСТАВИТЬ только к этим ячейкам. Также можно использовать условное форматирование, чтобы визуально скрыть точки в выбранных ячейках, не удаляя их физически.

После удаления точек числа отображаются с экспонентой (например, 1E+06). Как исправить?

Это означает, что Excel интерпретирует число как научный формат. Выделите ячейки, нажмите Ctrl+1, выберите формат Числовой и установите нужное количество десятичных знаков. Если проблема остаётся, увеличьте ширину столбца — иногда экспоненциальный формат появляется из-за нехватки места.

Как удалить точки в числах при импорте из CSV?

Используйте Power Query:

  1. При импорте CSV выберите Преобразовать данные.
  2. В окне Power Query выделите числовые столбцы → Преобразовать → Заменить значения.
  3. Замените . на пустоту, затем измените тип данных на Десятичное число.

Это гарантирует корректный импорт без ручного редактирования.

Можно ли настроить Excel так, чтобы точки никогда не появлялись?

Да, если точки добавляются из-за региональных настроек:

  1. Откройте Файл → Параметры → Дополнительно.
  2. В разделе Параметры редактирования снимите галочку Автоматически вставлять десятичную запятую.
  3. Установите в системе региональный формат с запятой как разделителем (например, Русский (Россия)).

Для новых книг также создайте шаблон (.xltx) с нужными настройками.

Что делать, если точки появляются при экспорте данных из 1С?

Проблема кроется в настройках экспорта :

  1. В откройте Файл → Экспорт → Настройки.
  2. Выберите формат Текстовый (разделитель — табуляция) вместо CSV.
  3. Установите галочку Выгружать числа без разделителей разрядов.

Если настройки недоступны, очищайте точки в Excel через Power Query или макрос.