Как в Excel заменить запятые на точки в числах: все способы

Работаете с данными в Microsoft Excel и сталкиваетесь с проблемой, когда числа отображаются с запятыми вместо точек? Это типичная ситуация при импорте данных из европейских источников или после изменения региональных настроек. Разделитель целой и дробной части зависит от языковых параметров системы, и его неправильное отображение может привести к ошибкам в расчётах или некорректной работе формул.

В этой статье вы найдёте 5 проверенных способов, как в Excel сделать числа с точками — от ручного форматирования до автоматизации с помощью VBA. Мы разберём нюансы для разных версий программы (2010, 2016, 2019, Microsoft 365), а также покажем, как избежать типичных ошибок при конвертации. Особое внимание уделим случаям, когда числа с запятыми не распознаются как числовые значения и отображаются как текст.

Если вы часто работаете с международными данными или готовите отчёты для зарубежных партнёров, умение быстро переключать разделители станет вашим конкурентным преимуществом. Начнём с самого простого метода — изменения региональных параметров.

1. Изменение региональных настроек Excel

Самый надёжный способ заставить Excel отображать числа с точками — изменить региональные настройки программы. Этот метод влияет на все новые книги, но не затрагивает уже существующие данные.

Вот как это сделать:

  1. Откройте Excel и перейдите в Файл → Параметры → Дополнительно.
  2. Прокрутите вниз до раздела Параметры редактирования.
  3. Снимите галочку с пункта Использовать системные разделители.
  4. В полях Разделитель целой и дробной части укажите точку (.), а в Разделитель разрядов — запятую (,).
  5. Нажмите OK и перезапустите программу.

⚠️ Внимание: После изменения настроек все новые числа будут отображаться с точками, но старые данные останутся без изменений. Чтобы обновить их, придётся применить один из методов, описанных ниже.

📊 Какой версии Excel вы пользуетесь?
2010 или старше
2013-2016
2019
Microsoft 365 (Online/Desktop)
Другой

2. Замена запятых на точки с помощью функции"Найти и заменить"

Если у вас уже есть таблица с числами, где разделителем служит запятая, можно быстро исправить это с помощью стандартного инструмента Найти и заменить. Этот метод работает даже для ячеек, которые Excel воспринимает как текст.

Инструкция:

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

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

  1. Выделите ячейки.
  2. Нажмите на восклицательный знак (!) рядом с ячейками (если он появился) и выберите Преобразовать в число.
  3. Или перейдите в Главная → Формат → Формат ячеек и выберите Числовой.

Выделите только ячейки с числами (исключите заголовки)

Создайте резервную копию файла

Проверьте, нет ли в данных запятых как разделителей тысяч

Убедитесь, что после замены числа не стали текстом-->

3. Использование формул для конвертации

Когда данные поступают в Excel автоматически (например, через импорт из CSV), ручная замена может быть неудобна. В таких случаях поможет формула ЗАМЕНИТЬ или SUBSTITUTE (в английской версии).

Пример формулы для замены запятой на точку:

=ЗАМЕНИТЬ(A1;",";".")

или для английской версии:

=SUBSTITUTE(A1,",",".")

Чтобы результат стал числом, оберните формулу в ЗНАЧЕН:

=ЗНАЧЕН(ЗАМЕНИТЬ(A1;",";"."))

Если в данных используются запятые как разделители тысяч (например, 1,000,50), сначала удалите их:

=ЗНАЧЕН(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;".";"");",";"."))
⚠️ Внимание: Формулы преобразуют данные динамически. Если исходные значения изменятся, результат обновляется автоматически. Для статического преобразования скопируйте результаты и вставьте как Значения (Ctrl+Shift+V).
Исходные данные Формула Результат Тип данных
123,45 =ЗАМЕНИТЬ(A1;",";".") 123.45 Текст
1,000,50 =ЗНАЧЕН(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;".";"");",";".")) 1000.5 Число
345,6789 =--ЗАМЕНИТЬ(A1;",";".") 345.6789 Число

4. Power Query: автоматическая замена при импорте данных

Если вы регулярно импортируете данные из внешних источников (например, CSV, JSON, баз данных), инструмент Power Query (доступен в Excel 2016 и новее) позволит автоматизировать замену разделителей.

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

  1. Перейдите на вкладку Данные и выберите Получить данные → Из файла → Из текстового/CSV.
  2. Загрузите ваш файл и нажмите Преобразовать данные.
  3. В окне Power Query выделите столбец с числами.
  4. Перейдите на вкладку Преобразование и выберите Заменить значения.
  5. Введите запятую в поле Значение для поиска и точку в Замена.
  6. Нажмите Закрыть и загрузить.

Power Query сохраняет все шаги преобразования. При следующем импорте данных из того же источника замена разделителей произойдёт автоматически.

5. Макрос VBA для массовой замены

Для обработки больших объёмов данных или регулярных задач удобно использовать макрос на VBA. Ниже приведён код, который заменяет запятые на точки во всех выделенных ячейках и преобразует результат в числовой формат:

Sub ReplaceCommaWithDot

Dim rng As Range

Dim cell As Range

' Проверяем, выделен ли диапазон

On Error Resume Next

Set rng = Selection.SpecialCells(xlCellTypeConstants)

On Error GoTo 0

If rng Is Nothing Then

MsgBox"Выделите ячейки с данными!", vbExclamation

Exit Sub

End If

' Отключаем обновление экрана для ускорения

Application.ScreenUpdating = False

For Each cell In rng

If InStr(cell.Value,",") > 0 Then

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

cell.NumberFormat ="General"

End If

Next cell

Application.ScreenUpdating = True

MsgBox"Замена завершена!", vbInformation

End Sub

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

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите нужные ячейки и запустите макрос (Alt+F8 → ReplaceCommaWithDot → Выполнить).
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов). Макросы не работают в файлах .xlsx.
Что делать, если макрос не работает?

1. Проверьте, включена ли поддержка макросов в настройках Excel (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов).

2. Убедитесь, что выделили ячейки с данными (макрос игнорирует пустые ячейки).

3. Если в данных есть другие символы (например, пробелы или буквы), макрос их не обработает. В этом случае используйте формулы или Power Query.

6. Проблемы и решения: почему числа не конвертируются

Иногда даже после замены запятых на точки числа остаются в текстовом формате или отображаются некорректно. Рассмотримчные причины и способы их устранения:

  • 🔹 Скрытые символы: В данных могут присутствовать неразрывные пробелы или другие непечатаемые символы. Используйте функцию =ЧИСТ(A1) (или =CLEAN(A1)), чтобы их удалить.
  • 🔹 Локальные настройки: Если в системе установлен европейский формат даты/чисел, Excel может автоматически преобразовывать точки обратно в запятые. Проверьте настройки в Панель управления → Регион → Дополнительные параметры.
  • 🔹 Апостроф перед числом: Если ячейка содержит апостроф (например, '123.45), Excel воспринимает её как текст. Удалите апостроф вручную или с помощью функции =ЗНАЧЕН(ПСТР(A1;2;99)).
  • 🔹 Отрицательные числа: В некоторых европейских форматах отрицательные числа записываются как 123,45-. Используйте формулу =ЗНАЧЕН(ЕСЛИ(ПРАВСИМВ(A1)="-";"-"&ЗАМЕНИТЬ(ЛЕВСИМВ(A1;ДЛСТР(A1)-1);",";"."); ЗАМЕНИТЬ(A1;",";"."))).

Если проблема сохраняется, попробуйте следующий трюк:

  1. Скопируйте проблемные ячейки (Ctrl+C).
  2. Вставьте их в Блокнот (это удалит всё форматирование).
  3. Скопируйте данные из Блокнота и вставьте обратно в Excel как значения.

FAQ: Частые вопросы о разделителях в Excel

Можно ли изменить разделитель только для одного листа, не затрагивая всю книгу?

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

Почему после замены запятых на точки числа стали отображаться как даты?

Это происходит, если Excel интерпретирует новые значения как даты (например, 1.2 может стать 1-фев). Чтобы исправить:

  1. Выделите ячейки.
  2. Перейдите в Главная → Формат → Формат ячеек.
  3. Выберите формат Числовой или Общий.

Как заменить точки на запятые в формулах?

В формулах Excel всегда используется точка как разделитель, независимо от региональных настроек. Если вам нужно, чтобы формулы отображались с запятыми (например, для печати), используйте функцию =ФОРМУЛА.ТЕКСТ (или =FORMULATEXT) и замените точки на запятые с помощью ЗАМЕНИТЬ.

Почему при экспорте в CSV числа снова становятся с запятыми?

Формат CSV не сохраняет информацию о региональных настройках. При экспорте Excel использует системные разделители. Чтобы сохранить точки:

  1. Перед экспортом измените системные настройки разделителей (см. раздел 1).
  2. Или экспортируйте данные в TXT с разделителями табуляции.

Можно ли автоматически заменять разделители при открытии файла?

Да, с помощью макроса Workbook_Open. Вставьте этот код в модуль ThisWorkbook:

Private Sub Workbook_Open

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

ws.Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart

Next ws

End Sub

Теперь при каждом открытии файла запятые будут автоматически заменяться на точки.