Замена точек на запятые в excel макросом

Содержание

  • Способы смены точки на запятую
    • Способ 1: инструмент «Найти и заменить»
    • Способ 2: использование функции ПОДСТАВИТЬ
    • Способ 3: применение макроса
    • Способ 4: использование Блокнота
    • Способ 5: изменение настроек Excel
    • Способ 6: изменение системных настроек
  • Вопросы и ответы

Замена точек на запятые в Microsoft Excel

Многие пользователи программы Эксель сталкиваются с вопросом замены точек на запятые в таблице. Это чаще всего связано с тем, что в англоязычных странах принято отделять десятичные дроби от целого числа точкой, а у нас – запятой. Хуже всего то, что числа с точкой не воспринимаются в русскоязычных версиях Excel, как числовой формат. Поэтому, именно данное направление замены настолько актуально. Давайте разберемся, как поменять точки на запятые в программе Microsoft Excel различными способами.

Способы смены точки на запятую

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

Способ 1: инструмент «Найти и заменить»

Самый простой способ замены точек на запятые — это воспользоваться возможностями, которые предоставляет инструмент «Найти и заменить». Но, и с ним нужно вести себя осторожно. Ведь, при неправильном его использовании будут заменены все точки на листе, даже в тех местах, где они действительно нужны, например, в датах. Поэтому, этим способом нужно пользоваться осторожно.

  1. Находясь во вкладке «Главная», в группе инструментов «Редактирование» на ленте жмем на кнопку «Найти и выделить». В появившемся меню переходим по пункту «Заменить».
  2. Переход к замене в Microsoft Excel

  3. Открывается окно «Найти и заменить». В поле «Найти» вставляем знак точки (.). В поле «Заменить» — знак запятой (,). Кликаем по кнопке «Параметры».
  4. Переход в параметры замены в Microsoft Excel

  5. Открываются дополнительные настройки поиска и замены. Напротив параметра «Заменить на…» кликаем по кнопке «Формат».
  6. Переход в формат замены в Microsoft Excel

  7. Открывается окно, в котором мы сразу можем установить формат изменяемой ячейки, какой бы она до этого не была. В нашем случае главное установить числовой формат данных. Во вкладке «Число» среди наборов числовых форматов выделяем пункт «Числовой». Жмем на кнопку «OK».
  8. Устанорвка формата в Microsoft Excel

  9. После того, как мы вернулись в окно «Найти и заменить», выделяем весь диапазон ячеек на листе, где нужно будет выполнить замену точки на запятую. Это очень важно, ведь если вы не выделите диапазон, то замена произойдет по всему листу, что не всегда нужно. Затем, жмем на кнопку «Заменить все».

Запуск замены в Microsoft Excel

Как видим, замена выполнена успешно.

Замена завершена в Microsoft Excel

Урок: замена символов в Excel

Способ 2: использование функции ПОДСТАВИТЬ

Ещё одним вариантом замены точки на запятую является использование функции ПОДСТАВИТЬ. Правда, при использовании этой функции замена происходит не в исходных ячейках, а отображается в отдельной колонке.

  1. Выделяем ячейку, которая станет самой первой в колонке для вывода измененных данных. Кликаем по кнопке «Вставить функцию», которая располагается слева от места нахождения строки функций.
  2. Переход в Мастер функций в Microsoft Excel

  3. Запускается Мастер функций. В списке, представленном в открытом окне, ищем функцию ПОДСТАВИТЬ. Выделяем её и жмем на кнопку «OK».
  4. Выбор функции ПОДСТАВИТЬ в Microsoft Excel

    Lumpics.ru

  5. Активируется окно аргументов функции. В поле «Текст» нужно ввести координаты первой ячейки столбца, где располагаются числа с точками. Это можно сделать, просто выделив эту ячейку на листе с помощью мыши. В поле «Стар_текст» вставляем точку (.). В поле «Нов_текст» ставим запятую (,). Поле «Номер_вхождения» заполнять не нужно. Сама функция будет иметь такой шаблон: «=ПОДСТАВИТЬ(адрес_ячейки;».»;»,»)». Жмем на кнопку «OK».
  6. Аргументы функции ПОДСТАВИТЬ в Microsoft Excel

  7. Как видим, в новой ячейке у числа уже вместо точки запятая. Теперь нам нужно сделать подобную операцию для всех других ячеек столбца. Конечно, вводить для каждого числа функцию не нужно, есть намного более быстрый способ выполнить преобразование. Становимся на правый нижний край ячейки, которая содержит преобразованные данные. Появляется маркер заполнения. Удерживая левую кнопку мыши, тянем его вниз до нижней границы области, содержащей преобразуемые данные.
  8. Копирование функции ПОДСТАВИТЬ в Microsoft Excel

  9. Теперь нам нужно присвоить ячейкам числовой формат. Выделяем всю область преобразованных данных. На ленте во вкладке «Главная» ищем блок инструментов «Число». В выпадающем списке меняем формат на числовой.

Установка числового формата в Microsoft Excel

На этом преобразование данных закончено.

Способ 3: применение макроса

Заменить точку на запятую в Экселе можно также при помощи макроса.

  1. Прежде всего, нужно включить макросы и вкладку «Разработчик», если они у вас не включены.
  2. Включение макросов в Microsoft Excel

  3. Переходим во вкладку «Разработчик».
  4. Переход в меню разработчика в Microsoft Excel

  5. Жмем на кнопку «Visual Basic».
  6. Переход в Visual Basic в Microsoft Excel

  7. В открывшееся окно редактора вставляем следующий код:

    Sub Макрос_замены_точки_на_запятую()
    Selection.Replace What:=".", Replacement:=","
    End Sub

    Закрываем редактор.

  8. Вставка кода в Microsoft Excel

  9. Выделяем область ячеек на листе, которую нужно преобразовать. Во вкладке «Разработчик» жмем на кнопку «Макросы».
  10. Переход в макросы в Microsoft Excel

  11. В открывшемся окне представлен список макросов. Выбираем из списка «Макрос замены запятых на точки». Жмем на кнопку «Выполнить».

Переход к выполнению макроса в Microsoft Excel

После этого, выполняется преобразование точек на запятые в выделенном диапазоне ячеек.

Внимание! Очень внимательно применяйте данный способ. Последствия действия этого макроса необратимы, поэтому выделяйте только те ячейки, к которым желаете его применить.

Урок: как создать макрос в Microsoft Excel

Способ 4: использование Блокнота

Следующий способ предполагает копирование данных в стандартный текстовый редактор Windows Блокнот, и изменение их в этой программе.

  1. Выделяем в Excel область ячеек, в которых нужно заменить точку на запятую. Кликаем правой кнопкой мыши. В контекстном меню выбираем пункт «Копировать».
  2. Копирование данных в Microsoft Excel

  3. Открываем Блокнот. Делаем клик правой кнопкой мыши, и в появившемся списке кликаем по пункту «Вставить».
  4. Вставка в Блокноте

  5. Кликаем по пункту меню «Правка». В появившемся списке выбираем пункт «Заменить». Или же, можно просто набрать на клавиатуре комбинацию клавиш Ctrl+H.
  6. Замена в Блокноте

  7. Открывается окно поиска и замены. В поле «Что» ставим точку. В поле «Чем» — запятую. Жмем на кнопку «Заменить все».
  8. Замена в программе Блокнот

  9. Выделяем измененные данные в Блокноте. Кликаем правой кнопкой мыши, и в списке выбираем пункт «Копировать». Или жмем на клавиатуре сочетание клавиш Ctrl+C.
  10. Копирование в Блокноте

  11. Возвращаемся в Эксель. Выделяем диапазон ячеек, где следует заменить значения. Кликаем по нему правой кнопкой. В появившемся меню в разделе «Параметры вставки» кликаем по кнопке «Сохранить только текст». Либо, жмем сочетание клавиш Ctrl+V.
  12. Вставка данных в Microsoft Excel

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

Установка формата в Microsoft Excel

Способ 5: изменение настроек Excel

Как один из способов преобразования точки в запятые, можно использовать изменение настроек программы Excel.

  1. Переходим во вкладку «Файл».
  2. Переход во вкладку Файл в Microsoft Excel

  3. Выбираем раздел «Параметры».
  4. Переход в параметры в Microsoft Excel

  5. Переходим в пункт «Дополнительно».
  6. Переход в Дополнительно настроек в Microsoft Excel

  7. В разделе настроек «Параметры правки» снимаем галочку с пункта «Использовать системные разделители». В активировавшееся поле «Разделитель целой и дробной части» ставим точку. Жмем на кнопку «OK».
  8. Изменение параметров в Microsoft Excel

  9. Но, данные сами собой не изменятся. Копируем их в Блокнот, а после вставляем на то же место обычным способом.
  10. Данные в блокноте в Microsoft Excel

  11. После завершения операции рекомендуется вернуть настройки Эксель по умолчанию.

Возврат к настройкам по умолчанию в Microsoft Excel

Способ 6: изменение системных настроек

Этот способ похож на предыдущий. Только на этот раз мы меняем не настройки Excel. А системные настройки Windows.

  1. Через меню «Пуск» входим в «Панель управления».
  2. Переход в Панель управления

  3. В Панели управления переходим в раздел «Часы, язык и регион».
  4. Переход в раздел Часы в Microsoft Excel

  5. Переходим в подраздел «Язык и региональные стандарты».
  6. Переход в подраздел Язык и региональные стандарты в Microsoft Excel

  7. В открывшемся окне во вкладке «Форматы» жмем на кнопку «Дополнительные настройки».
  8. Переход в дополнительные параметры в Microsoft Excel

  9. В поле «Разделитель целой и дробной части» меняем запятую на точку. Жмем на кнопку «OK».
  10. Изменение системных настроек Windows

  11. Копируем данные через Блокнот в Excel.
  12. Вставка в Microsoft Excel

  13. Возвращаем прежние настройки Windows.

Возврат к прежним системным настройкам Windows

Последний пункт очень важен. Если его не выполнить, то вы не сможете проводить привычные арифметические действия с преобразованными данными. Кроме того, возможно некорректно будут работать и другие программы, установленные на компьютере.

Как видим, существует несколько способов замены точки на запятую в программе Microsoft Excel. Конечно, большинство пользователей предпочитают для данной процедуры использовать наиболее легкий и удобный инструмент «Найти и заменить». Но, к сожалению, в некоторых случаях с его помощью не удаётся корректно преобразовать данные. Вот тогда на помощь могут прийти и другие варианты решения проблемы.

6 способов замены точки на запятую в программе Microsoft Excel

Многие пользователи программы Эксель сталкиваются с вопросом замены точек на запятые в таблице. Это чаще всего связано с тем, что в англоязычных странах принято отделять десятичные дроби от целого числа точкой, а у нас – запятой. Хуже всего то, что числа с точкой не воспринимаются в русскоязычных версиях Excel, как числовой формат. Поэтому, именно данное направление замены настолько актуально. Давайте разберемся, как поменять точки на запятые в программе Microsoft Excel различными способами.

Способы смены точки на запятую

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

Способ 1: инструмент «Найти и заменить»

Самый простой способ замены точек на запятые — это воспользоваться возможностями, которые предоставляет инструмент «Найти и заменить». Но, и с ним нужно вести себя осторожно. Ведь, при неправильном его использовании будут заменены все точки на листе, даже в тех местах, где они действительно нужны, например, в датах. Поэтому, этим способом нужно пользоваться осторожно.

  1. Находясь во вкладке «Главная», в группе инструментов «Редактирование» на ленте жмем на кнопку «Найти и выделить». В появившемся меню переходим по пункту «Заменить».

Открывается окно «Найти и заменить». В поле «Найти» вставляем знак точки (.). В поле «Заменить» — знак запятой (,). Кликаем по кнопке «Параметры».

Открываются дополнительные настройки поиска и замены. Напротив параметра «Заменить на…» кликаем по кнопке «Формат».

  • После того, как мы вернулись в окно «Найти и заменить», выделяем весь диапазон ячеек на листе, где нужно будет выполнить замену точки на запятую. Это очень важно, ведь если вы не выделите диапазон, то замена произойдет по всему листу, что не всегда нужно. Затем, жмем на кнопку «Заменить все».
  • Как видим, замена выполнена успешно.

    Способ 2: использование функции ПОДСТАВИТЬ

    Ещё одним вариантом замены точки на запятую является использование функции ПОДСТАВИТЬ. Правда, при использовании этой функции замена происходит не в исходных ячейках, а отображается в отдельной колонке.

      Выделяем ячейку, которая станет самой первой в колонке для вывода измененных данных. Кликаем по кнопке «Вставить функцию», которая располагается слева от места нахождения строки функций.

    Запускается Мастер функций. В списке, представленном в открытом окне, ищем функцию ПОДСТАВИТЬ. Выделяем её и жмем на кнопку «OK».

    Активируется окно аргументов функции. В поле «Текст» нужно ввести координаты первой ячейки столбца, где располагаются числа с точками. Это можно сделать, просто выделив эту ячейку на листе с помощью мыши. В поле «Стар_текст» вставляем точку (.). В поле «Нов_текст» ставим запятую (,). Поле «Номер_вхождения» заполнять не нужно. Сама функция будет иметь такой шаблон: «=ПОДСТАВИТЬ(адрес_ячейки;».»;»,»)». Жмем на кнопку «OK».

    Как видим, в новой ячейке у числа уже вместо точки запятая. Теперь нам нужно сделать подобную операцию для всех других ячеек столбца. Конечно, вводить для каждого числа функцию не нужно, есть намного более быстрый способ выполнить преобразование. Становимся на правый нижний край ячейки, которая содержит преобразованные данные. Появляется маркер заполнения. Удерживая левую кнопку мыши, тянем его вниз до нижней границы области, содержащей преобразуемые данные.

  • Теперь нам нужно присвоить ячейкам числовой формат. Выделяем всю область преобразованных данных. На ленте во вкладке «Главная» ищем блок инструментов «Число». В выпадающем списке меняем формат на числовой.
  • На этом преобразование данных закончено.

    Способ 3: применение макроса

    Заменить точку на запятую в Экселе можно также при помощи макроса.

      Прежде всего, нужно включить макросы и вкладку «Разработчик», если они у вас не включены.

    Переходим во вкладку «Разработчик».

    Жмем на кнопку «Visual Basic».

    В открывшееся окно редактора вставляем следующий код:

    Sub Макрос_замены_точки_на_запятую()
    Selection.Replace What:=».», Replacement:=»,»
    End Sub

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

  • В открывшемся окне представлен список макросов. Выбираем из списка «Макрос замены запятых на точки». Жмем на кнопку «Выполнить».
  • После этого, выполняется преобразование точек на запятые в выделенном диапазоне ячеек.

    Внимание! Очень внимательно применяйте данный способ. Последствия действия этого макроса необратимы, поэтому выделяйте только те ячейки, к которым желаете его применить.

    Способ 4: использование Блокнота

    Следующий способ предполагает копирование данных в стандартный текстовый редактор Windows Блокнот, и изменение их в этой программе.

      Выделяем в Excel область ячеек, в которых нужно заменить точку на запятую. Кликаем правой кнопкой мыши. В контекстном меню выбираем пункт «Копировать».

    Открываем Блокнот. Делаем клик правой кнопкой мыши, и в появившемся списке кликаем по пункту «Вставить».

    Кликаем по пункту меню «Правка». В появившемся списке выбираем пункт «Заменить». Или же, можно просто набрать на клавиатуре комбинацию клавиш Ctrl+H.

    Открывается окно поиска и замены. В поле «Что» ставим точку. В поле «Чем» — запятую. Жмем на кнопку «Заменить все».

    Выделяем измененные данные в Блокноте. Кликаем правой кнопкой мыши, и в списке выбираем пункт «Копировать». Или жмем на клавиатуре сочетание клавиш Ctrl+C.

    Возвращаемся в Эксель. Выделяем диапазон ячеек, где следует заменить значения. Кликаем по нему правой кнопкой. В появившемся меню в разделе «Параметры вставки» кликаем по кнопке «Сохранить только текст». Либо, жмем сочетание клавиш Ctrl+V.

  • На весь диапазон ячеек устанавливаем числовой формат тем же способом, как делали это ранее.
  • Способ 5: изменение настроек Excel

    Как один из способов преобразования точки в запятые, можно использовать изменение настроек программы Excel.

      Переходим во вкладку «Файл».

    Выбираем раздел «Параметры».

    Переходим в пункт «Дополнительно».

    В разделе настроек «Параметры правки» снимаем галочку с пункта «Использовать системные разделители». В активировавшееся поле «Разделитель целой и дробной части» ставим точку. Жмем на кнопку «OK».

    Но, данные сами собой не изменятся. Копируем их в Блокнот, а после вставляем на то же место обычным способом.

  • После завершения операции рекомендуется вернуть настройки Эксель по умолчанию.
  • Способ 6: изменение системных настроек

    Этот способ похож на предыдущий. Только на этот раз мы меняем не настройки Excel. А системные настройки Windows.

      Через меню «Пуск» входим в «Панель управления».

    В Панели управления переходим в раздел «Часы, язык и регион».

    Переходим в подраздел «Язык и региональные стандарты».

    В открывшемся окне во вкладке «Форматы» жмем на кнопку «Дополнительные настройки».

    В поле «Разделитель целой и дробной части» меняем запятую на точку. Жмем на кнопку «OK».

    Копируем данные через Блокнот в Excel.

  • Возвращаем прежние настройки Windows.
  • Последний пункт очень важен. Если его не выполнить, то вы не сможете проводить привычные арифметические действия с преобразованными данными. Кроме того, возможно некорректно будут работать и другие программы, установленные на компьютере.

    Как видим, существует несколько способов замены точки на запятую в программе Microsoft Excel. Конечно, большинство пользователей предпочитают для данной процедуры использовать наиболее легкий и удобный инструмент «Найти и заменить». Но, к сожалению, в некоторых случаях с его помощью не удаётся корректно преобразовать данные. Вот тогда на помощь могут прийти и другие варианты решения проблемы.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Как поменять точки на запятые в Excel

    В дробных числах в Excel могут использоваться в качестве разделителя точки, либо запятые. Во многих англоязычных странах используют точку, в России же чаще используется запятая. Из-за этого часто возникают различные сложности и требуется менять точки на запятые или наоборот.

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

    Настройки использования точки или запятой в Excel 2013 меняются следующим образом. Необходимо войти в Файл | Параметры , далее в открывшемся окне выберите пункт Дополнительно и обратите внимание на пункт “ Использовать системные разделители

    Если стоит галочка в данном пункте, то Excel будет ориентироваться на системные настройки. Как их изменить мы рассмотрим чуть позже. Если вам необходимо именно сейчас поменять настройки, то необходимо убрать галочку и поставить в пункте “Разделитель целой и дробной части” вместо точки запятую или наоборот.

    Важно! Данные которые уже вставлены в Excel автоматически не преобразуются в число после изменения вышеуказанных настроек. Чтобы их преобразовать в число есть различные способы.

    1 способ.Выделить и скопировать эти данные, открыть блокнот на вашем компьютере и вставить эти данные в блокнот и заново скопировать, вернуться в Excel и вставить эти данные обратно обычной вставкой.

    2 способ. Просто скопировать данные и заново вставить. В этих ячейках должны появится в углу зеленные треугольники, в данном случае Excel нам подсказывает, что числа сохранены как текст.

    Чтобы преобразовать текст в числа, вам необходимо выделить эти числа, после этого должен появиться желтый ромбик с восклицательным знаком, нажмите на него и выберете пункт “Преобразовать в число

    Меняем точку на запятую в системных настройках Windows

    Очень часто встречается следующая ситуация. Например, вы работаете в каком-нибудь отчете Excel, где используется запятая в качестве разделителя. Периодически вам необходимо выгружать данные из какой-нибудь корпоративной базы, CRM или 1С и вставлять в этот отчет. Но данные из этих систем выгружаются с точками и у вас возникают сложности из-за этого, либо обратная ситуация – вы работаете с точками, а программа выгружает отчет с запятыми.

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

    Для того, чтобы изменить системные настройки разделителя вам необходимо зайти в меню Пуск | Панель управления | Часы, язык и регион, далее в разделе Язык и региональные стандарты выбрать пункт Изменение форматов даты, времени и чисел

    Откроется окно Язык и региональные настройки, перейдите во вкладку Форматы | Дополнительные настройки, откроется окно Настройка формата, во вкладке Числа в поле Разделитель целой и дробной части: поменяйте точку на запятую либо наоборот и нажмите ОК

    После этого можете запускать выгрузку отчета из корпоративной программы, CRM или 1C и ваш отчет будет выгружен с нужным вам знаком. После выгрузки отчета не забудьте поменять настройки обратно, иначе у вас некорректно может работать сам исходный отчет.

    Как поменять точки на запятые в Excel в определенном месте

    Нередки ситуации, когда работая с отчетом Excel, где используются в качестве разделителя, например, запятые, а вам присылают данные с точками и стоит задача поменять запятые на точки или наоборот. Самый простой способ – это выделить все данные с точками, нажать одновременно Ctrl+H (либо необходимо перейти (Excel 2007—2013) во вкладку Главная, раздел Редактирование, выбрать бинокль и в выпадающем меню выбрать пункт Заменить

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

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

    Макрос замены точки на запятую в выделенных ячейках

    Макрос замены запятой на точку в выделенных ячейках

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

    Важно! При работе с макросами невозможно будет отменить последние действия, поэтому будьте внимательны.

    Меняем точки на запятые в Excel с помощью формул

    Бывают ситуации, когда в отчете мы работает с точками, но где-то необходимо отразить данные с помощью запятых, например, в диаграммах. Либо как и с ситуацией выше нам присылают данные с другими разделителями и мы хотим эти разделители менять автоматически или у вас есть отчет, в Excel используются запятые, есть сотрудники которые заполняют данные, например, показания каких-нибудь приборов. Сколько вы не бьетесь с ними, они все равно указывают данные то с точками, то с запятыми. В данном случае, можно просто сделать еще один столбец в котором с помощью формулы точки будут меняться на запятые или наоборот.

    Для этих целей мы можем использовать функцию ПОДСТАВИТЬ. Данная функция позволяет менять один текст на другой в нужном нам тексте.

    Синтаксис данной функции:

    ПОДСТАВИТЬ( текст ; стар_текст ; нов_текст ; [номер_вхождения])

    Рассмотрим пример, у нас есть в столбце A данные с запятыми, а мы работает с точками, поэтому эти данные воспринимаются как текст и наша задача состоит в изменении запятых на точки с помощью формул Excel.

    В ячейке B1 прописываем формулу

    A1 – это текст , в нашем примере это текст в нашего числа в ячейке A1

    «, » – это стар_текст , то есть тот текст который нам необходимо заменить, в нашем случае это запятая.

    «. » – это нов_текст то есть тот текст на который нам необходимо заменить старый, в нашем случае это точка.

    Последний аргумент мы указали 1 – это необязательный аргумент, по умолчанию Excel подставляет 1, означает, что поиск старого текста происходит с 1 знака. Это может пригодится, если, например, в тексте будет 2 запятые, а нам необходимо заменять вторую запятую, а не первую.

    Далее мы протягиваем формулу и получаем список и цифр с точкой, но это еще не всё, преобразованные числа так и остались текстом, поэтому их необходимо конвертировать в числа. Для этого мы будем использовать функцию ЗНАЧЕН

    Достаточно предыдущую функцию добавить в ЗНАЧЕН и текстовые данные преобразуются в числовые. Функция будет выглядеть следующим образом.

    Обратите внимание! В данном примере мы работает с точками, поэтому функция будет работать корректно, если же в такой же ситуации мы будем менять точки на запятые, а числовые разряды в настройках у нас разделяются точками, то функция будет выдавать ошибку.

    Замена запятой на точку в Microsoft Excel

    Известно, что в русскоязычной версии Excel в качестве разделителя десятичных знаков используется запятая, тогда как в англоязычной – точка. Это связано с существованием различных стандартов в данной области. Кроме того, в англоязычных странах принято в качестве разделителя разряда использовать запятую, а у нас – точку. В свою очередь это вызывает проблему, когда пользователь открывает файл, созданный в программе с другой локализацией. Доходит до того, что Эксель даже не считает формулы, так как неправильно воспринимает знаки. В этом случае нужно либо поменять локализацию программы в настройках, либо заменить знаки в документе. Давайте выясним, как поменять запятую на точку в данном приложении.

    Процедура замены

    Прежде, чем приступить к замене, нужно для себя в первую очередь уяснить, для чего вы её производите. Одно дело, если вы проводите данную процедуру просто потому, что визуально лучше воспринимаете точку как разделитель и не планируете использовать эти числа в расчетах. Совсем другое дело, если вам нужно сменить знак именно для расчета, так как в будущем документ будет обрабатываться в англоязычной версии Эксель.

    Способ 1: инструмент «Найти и заменить»

    Наиболее простой способ выполнение трансформации запятой на точку – это применение инструмента «Найти и заменить». Но, сразу нужно отметить, что для вычислений такой способ не подойдет, так как содержимое ячеек будет преобразовано в текстовый формат.

    1. Производим выделение области на листе, где нужно трансформировать запятые в точки. Выполняем щелчок правой кнопкой мышки. В запустившемся контекстном меню отмечаем пункт «Формат ячеек…». Те пользователи, которые предпочитают пользоваться альтернативными вариантами с применением «горячих клавиш», после выделения могут набрать комбинацию клавиш Ctrl+1.

    Производится запуск окна форматирования. Производим передвижение во вкладку «Число». В группе параметров «Числовые форматы» перемещаем выделение в позицию «Текстовый». Для того чтобы сохранить внесенные изменения, щелкаем по кнопке «OK». Формат данных в выбранном диапазоне будет преобразован в текстовый.

    Опять выделяем целевой диапазон. Это важный нюанс, ведь без предварительного выделения трансформация будет произведена по всей области листа, а это далеко не всегда нужно. После того, как область выделена, передвигаемся во вкладку «Главная». Щелкаем по кнопке «Найти и выделить», которая размещена в блоке инструментов «Редактирование» на ленте. Затем открывается небольшое меню, в котором следует выбрать пункт «Заменить…».

  • Открывается информационное окно, в котором предоставляется отчет о выполненной трансформации. Делаем щелчок по кнопке «OK».
  • Программа выполняет процедуру трансформации запятых на точки в выделенном диапазоне. На этом данную задачу можно считать решенной. Но следует помнить, что данные, замененные таким способом будут иметь текстовый формат, а, значит, не смогут быть использованными в вычислениях.

    Способ 2: применение функции

    Второй способ предполагает применение оператора ПОДСТАВИТЬ. Для начала с помощью этой функции преобразуем данные в отдельном диапазоне, а потом скопируем их на место исходного.

      Выделяем пустую ячейку напротив первой ячейки диапазона с данными, в котором запятые следует трансформировать в точки. Щелкаем по пиктограмме «Вставить функцию», размещенную слева от строки формул.

    После этих действий будет запущен Мастер функций. Ищем в категории «Тестовые» или «Полный алфавитный перечень» наименование «ПОДСТАВИТЬ». Выделяем его и щелкаем по кнопке «OK».

    Открывается окно аргументов функции. Она имеет три обязательных аргумента «Текст», «Старый текст» и «Новый текст». В поле «Текст» нужно указать адрес ячейки, где размещены данные, которые следует изменить. Для этого устанавливаем курсор в данное поле, а затем щелкаем мышью на листе по первой ячейке изменяемого диапазона. Сразу после этого адрес появится в окне аргументов. В поле «Старый текст» устанавливаем следующий символ – «,». В поле «Новый текст» ставим точку – «.». После того, как данные внесены, щелкаем по кнопке «OK».

    Как видим, для первой ячейки преобразование выполнено успешно. Подобную операцию можно провести и для всех других ячеек нужного диапазона. Хорошо, если этот диапазон небольшой. Но что делать, если он состоит из множества ячеек? Ведь на преобразование подобным образом, в таком случае, уйдет огромное количество времени. Но, процедуру можно значительно ускорить, скопировав формулу ПОДСТАВИТЬ с помощью маркера заполнения.

    Устанавливаем курсор на правый нижний край ячейки, в которой содержится функция. Появляется маркер заполнения в виде небольшого крестика. Зажимаем левую кнопку мыши и тянем этот крестик параллельно области, в которой нужно трансформировать запятые в точки.

    Как видим, все содержимое целевого диапазона было преобразовано в данные с точками вместо запятых. Теперь нужно скопировать результат и вставить в исходную область. Выделяем ячейки с формулой. Находясь во вкладке «Главная», щелкаем по кнопке на ленте «Копировать», которая расположена в группе инструментов «Буфер обмена». Можно сделать и проще, а именно после выделения диапазона набрать комбинацию клавиш на клавиатуре Ctrl+1.

    Выделяем исходный диапазон. Щелкаем по выделению правой кнопкой мыши. Появляется контекстное меню. В нем выполняем щелчок по пункту «Значения», который расположен в группе «Параметры вставки». Данный пункт обозначен цифрами «123».

  • После этих действий значения будут вставлены в соответствующий диапазон. При этом запятые будут трансформированы в точки. Чтобы удалить уже не нужную нам область, заполненную формулами, выделяем её и щелкаем правой кнопкой мыши. В появившемся меню выбираем пункт «Очистить содержимое».
  • Преобразование данных по смене запятых на точки выполнено, а все ненужные элементы удалены.

    Способ 3: Использование макроса

    Следующий способ трансформации запятых в точки связан с использованием макросов. Но, дело состоит ещё в том, что по умолчанию макросы в Экселе отключены.

    Прежде всего, следует включить макросы, а также активировать вкладку «Разработчик», если в вашей программе они до сих пор не активированы. После этого нужно произвести следующие действия:

      Перемещаемся во вкладку «Разработчик» и щелкаем по кнопке «Visual Basic», которая размещена в блоке инструментов «Код» на ленте.

    Открывается редактор макросов. Производим вставку в него следующего кода:

    Sub Макрос_трансформации_запятых_в_точки()
    Selection.Replace What:=»,», Replacement:=».»
    End Sub

    Завершаем работу редактора стандартным методом, нажав на кнопку закрытия в верхнем правом углу.

    Далее выделяем диапазон, в котором следует произвести трансформацию. Щелкаем по кнопке «Макросы», которая расположена все в той же группе инструментов «Код».

  • Открывается окно со списком имеющихся в книге макросов. Выбираем тот, который недавно создали через редактор. После того, как выделили строку с его наименованием, щелкаем по кнопке «Выполнить».
  • Выполняется преобразование. Запятые будут трансформированы в точки.

    Способ 4: настройки Эксель

    Следующий способ единственный среди вышеперечисленных, при котором при трансформации запятых в точки выражение будет восприниматься программой как число, а не как текст. Для этого нам нужно будет поменять системный разделитель в настройках с запятой на точку.

      Находясь во вкладке «Файл», щелкаем по наименованию блока «Параметры».

  • В окне параметров передвигаемся в подраздел «Дополнительно». Производим поиск блока настроек «Параметры правки». Убираем флажок около значения «Использовать системные разделители». Затем в пункте «Разделитель целой и дробной части» производим замену с «,» на «.». Для введения параметров в действие щелкаем по кнопке «OK».
  • После вышеуказанных действий запятые, которые использовались в качестве разделителей для дробей, будут преобразованы в точки. Но, главное, выражения, в которых они используются, останутся числовыми, а не будут преобразованы в текстовые.

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    5 быстрых способов как заменить точки на запятые в Excel

    Доброго времени суток друзья!

    В этой статье я бы хотел затронуть вопрос о преобразовании дробных чисел, а точнее, как заменить точки на запятые. Может вы и сталкивались, а скорее всего и нет, раз зашли почитать, что дробные числа у вас разделены «точкой», это может быть вызвано разными причинами, такими как выгрузка статистической или иной информации с разнообразных программ, к примеру, 1С, также причиной может стать то что в англоязычных странах в основном используют разделитель «точка», а вот в странах СНГ распространена «запятая» и так возникают конфликты, программа воспринимает данные как текст и никакие вычисления не хочет производить. Но с этим можно бороться и для этого существует 5 различных способов как заменить точки на запятые в Excel:

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

    Изменение параметров Excel

    Один из самых легких способов доступный любому новичку, да и вообще любому пользователю Excel. Вы заходите в пункт меню «Файл», выбираете «Параметры» и в окне которое открылось, выбираем пункт «Дополнительно», здесь нас интересует пункт «Использовать системные разделители». Если галочка на этом пункте уже стоит, то программа будет смотреть на системные настройки, о них мы поговорим чуть ниже. Но если вам надо сейчас изменить настройки, то вы должны убрать галочку с данного пункта и поставить ее на пункт «Разделитель целой и дробной части» и вписываем в разблокированные поля вместо «точки» — «запятую», ну или наоборот.

    Замечание! Уже выгруженные в Excel данные не изменяются и не преобразуются в числовое значение, для текущих изменений нужно использовать совсем другие способы, к примеру:

    Изменение системных настроек Windows

    Этот способ, заменить точки на запятые в Excel, также не является сложным в исполнении и как было сказано выше нужен, если у вас в Excel стоят настройки на систему. Системные изменения нужно внести по следующему адресу «Пуск» — «Панель управления» — «Часы, язык и регион», далее выбираете в разделе «Язык и региональные стандарты» пункт «Изменение форматов даты, времени и чисел», в открывшемся окне выбираем системную вкладку «Форматы» — «Дополнительные настройки», в открывшемся окне «Настройка формата», на вкладке «Числа», в поле «Разделитель целой и дробной части» вам необходимо заменить «точку» на «запятую» либо наоборот и нажать «ОК».

    Внимание! После этого вы можете выгружать отчёты с нужными вам знаками, но для их корректной работы в исходном варианте, вам нужно будет вернуть настройки на свое место!

    Изменение с помощью пунктов «Найти» и «Заменить»

    Рассмотрим также такой тривиальный способ, по замене точкек на запятые в Excel, как использование возможности «Найти и заменить». Этот способ также можно применить в нашем случае, но только при условии, что у нас только одни голые цифры и больше ничего нет, так как замена работает для всего листа и меняет не только то что нам нужно и то что нам не нужно, одним словом изменят всё к чему дотянется. Так что будьте внимательны при её использовании. Для изменения данных вам нужно перейти во вкладку «Главная», выбрать раздел «Редактирование», нажать иконку с изображением бинокля и в выпадающем из него меню выбрать пункт «Заменить» или просто выделить весь диапазон где вам нужно заменить знак «точка» на знак «запятая», нажимаете сочетание горячих клавиш Ctrl+H. В открывшемся окне, в поле «Найти», ставим «.», а в поле «Заменить» ставим «,», ну или наоборот в зависимости от рабочей необходимости и нажимаем кнопку «Заменить всё». Все «точки» в нашей рабочей книге или диапазоне будут заменены на «запятые».

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

    Изменить с помощью функции ПОДСТАВИТЬ и функции ЗНАЧЕН

    Не пройдем вниманием и возможность, замены точки на запятую в Excel, с помощью функций программы. Случаи бывают разные, и вы можете, столкнуться с таким, что функция ПОДСТАВИТЬ станет для вас панацеей. К примеру, когда вы используете для формирования отчётов или таблиц числа с разделителем «точка» или наоборот. Собственно, сама функция очень легка и не требует супераргументов:

    =ПОДСТАВИТЬ((A1;«.»;«,»;1), где,

    • А1 – это число которое вы будете изменять,
    • «.» — вторым аргументом идет знак который вы будете искать,
    • «,» — третий аргумент, это знак на который вы замените,
    • четвертым аргументом случит число знаков с которого происходит поиск, это нужно если в аргументах встречаются более 1 похожего знака.

    Поскольку полученные данные всё еще остаются текстовыми, вам необходимо конвертировать полученный результат в числовой, это вы сделаете с помощью функции ЗНАЧЕН.

    =ЗНАЧЕН(ПОДСТАВИТЬ((A1;«.»;«,»;1)), вот так подставив функцию подставления в формулу, на выходе вы получите нужное вам число.

    Внимание! Для корректной работы этих функций должны быть соответствующие числовые разряды в настройках вашей программы иначе будут ошибки.

    Изменить с помощью макроса VBA

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

    4 способа заменить точку на запятую в Excel

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

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

    Как в Excel заменить точку, на запятую?

    Выделите и скопируйте данные из ниже приведенной таблицы:

    Теперь перейдите на рабочий лист и щелкните правой кнопкой мышки по ячейке A1. Из появившегося контекстного меню выберите опцию «Специальная вставка». В диалоговом окне выберите «Текст в кодировке Unicode» и нажмите ОК.

    Как видно Excel распознает числа только в колонке C. Значения в этой колонке выровнены по правой стороне. В других колонках по левому краю. Во всех ячейках формат по умолчанию «Общий», а в ячейках D3, D5, E3, E5 вообще отображается формат «Дата». Мы копировали данные через специальную вставку и все форматы исходной таблицы устранены. Причина только одна – вместо запятой стоит точка. Такой тип данных не подготовлен и его нельзя использовать для вычислений.

    Примечание. Если копировать данные из других источников без специальной вставки, то вместе с данными копируется и формат. В таком случаи формат ячеек «Общий» (по умолчанию) может быть изменен. Тогда нельзя визуально отличить, где распознано число, а где текст.

    Все последующие действия необходимо выполнять с чистого листа. Удалите все, что есть на листе или откройте новый для дальнейшей работы.

    Чтобы заменить точку, на запятую в импортированных данных можно использовать 4 способа:

    Способ 1 замена точки на запятую в Excel через Блокнот

    Программа Блокнот Windows не требует использования сложных настроек и функций, а лишь выступает посредником в копировании и предварительной подготовки данных.

    1. Скопируйте данные из исходной таблички на этой странице. Откройте программу Блокнот Windows («Пуск»-«Все программы»-«Стандартные»-«Блокнот») и вставьте в него скопированные данные для подготовки.
    2. Выберите в меню «Правка» опцию «Заменить» (или комбинацию горячих клавиш CTRL+H). В появившимся диалоговом окне, введите в поле: «Что» точку (.), а в поле «Чем» запятую (,). И нажмите кнопку «Заменить все».

    Программа Блокнот заменила все точки, на запятые. Теперь данные готовы для копирования и вставки на лист.

    Это весьма простой, но очень эффективный способ.

    Способ 2 временно меняем настройки Excel

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

    Для этого нужно открыть «Файл»-«Параметры»-«Дополнительно». В разделе «Параметры правки» следует временно убрать галочку «Использовать системные разделители». А в поле «Разделитель целой и дробной части» следует удалить запятую и ввести точку.

    После выполнения вычислений настоятельно рекомендуется вернуть настройки по умолчанию.

    Внимание! Данный способ сработает, если сделать все изменения до импорта данных, а не после.

    Способ 3 временно меняем системные настройки Windows

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

    Открываем «Пуск»-«Панель управления»-«Языки и региональные стандарты». Нажимаем на кнопку «Дополнительно». В появившимся окне изменяем в первом поле «Разделитель целой и дробной части» — вводим нужное нам значение. Дальше ОК и ОК.

    Внимание! Если вы откроете этот файл на другом компьютере, где установлены другие системные параметры региональных стандартов, то могут возникнуть проблемы с вычислениями.

    Способ 4 используем функцию найти и заменить в Excel.

    Данный способ похож на первый. Только здесь мы используем ту же функцию из Блокнота, но уже в самом Excel.

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

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

    1. Предварительно выделите столбцы где будут находится дробные числа с точкой в качестве разделителя. В данном случаи это 3 столбца D:F.
    2. Установите для выделенного диапазона текстовый формат ячеек, чтобы заранее избежать автоматического преобразования в формат даты некоторых чисел. Для этого выберите текстовый формат из выпадающего списка на закладке «Главная» в разделе «Число». Или нажмите CTRL+1 , в появившимся окне «Формат ячеек» выберите закладку «Число», а в разделе «Числовые форматы» укажите «Текстовый».
    3. Скопируйте таблицу и щелкните правой кнопкой мышки по ячейке A1. Из контекстного меню выберите опцию «Специальная вставка». Выберите «Текст в кодировке Unicode» и нажмите ОК. Обратите внимание, как теперь отображаются значения в ячейках: D3, D5, E3, E5, в отличии от самого первого копирования таблицы.
    4. Нажмите на инструмент «Главная»-«Найти и выделить»-«Заменить» (или нажмите комбинацию CTRL+H).
    5. В появившемся окне введите в поле «Найти» — точку, а в во второе поле введите запятую. И нажмите «Заменить все».
    6. Снова выделите 3 столбца D:F и измените формат ячеек на «Числовой» CTRL+SHIFT+1. Не забудьте увеличить разрядность до 4-х, как описано в пункте №2.

    Все точки сменились на запятые. А текст автоматически преобразился в число.

    Вместо 4-го и 5-го пункта можно использовать в отдельной колонке формулу с функциями:

    Например, выделите диапазон ячеек G2:I5, введите эту формулу и нажмите CTRL+Enter. А потом переместите значения ячеек диапазона G2:I5 в диапазон D2:F5.

    Эта формула находит в тексте точку с помощью функции НАЙТИ. Потом вторая функция меняет ее на запятую. А функция ЗНАЧЕН преобразует полученный результат в число.

     

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

      2 более красиво :) ставлю автозамену точки на запятую..  
     потом меняю макросом в нужном диапазоне.. точку на точку — получается запятая :)  

      как еще?

     

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

     

    да! правда и я мог не так понять .. :)

     

    вот файл.  

      поменяйте мне точки на запятые

     

    Ctrl+H, «.» на «,». Лист NEW.

     

    а первый мой пост читали?  

      макросом мне надо!

     

    {quote}{login=слэн}{date=27.05.2008 03:25}{thema=}{post}вот файл.  

      поменяйте мне точки на запятые{/post}{/quote}В результате должны получится числа или должен остаться текст?  
    И решение зависит от используемого разделителя дробной части.  
    Поменять на запятую потому что запятая Application.DecimalSeparator?

     
     

    нужно макросом и с наибольшей скоростью ибо данных может быть много

     

    На первый вопрос, содержащий «или», ответ «да» непонятен.  
    Может так пойдет?  
       Selection.Replace What:=».», Replacement:=Application.DecimalSeparator, LookAt:=xlPart, _  
           SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _  
           ReplaceFormat:=False

     

    на самом деле ответ совершенно верен :)  

      уж из текста числа я сделаю..  

      но, подчиняясь , в конечном виде нужны числа, и, значит, будем считать это ответом на первую часть вопроса, после получения которого, ответ на вторую часть будет очевиден :)

     

    {quote}{login=Лузер™}{date=27.05.2008 04:03}{thema=}{post}На первый вопрос, содержащий «или», ответ «да» непонятен.  
    Может так пойдет?  
       Selection.Replace What:=».», Replacement:=Application.DecimalSeparator, LookAt:=xlPart, _  
           SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _  
           ReplaceFormat:=False{/post}{/quote}  

      врят ли — но щас попробуююю

     

    снимаю шляпу — работает.  

      теперь объясните разницу..    
    пожалста-а-а

     

    Вариант:  
    ‘Sub Макрос1()  
       With Range(«A1:D2»)  
           .Replace What:=»,», Replacement:=».», LookAt:=xlPart  
       End With  
    End Sub

     

    {quote}{login=слэн}{date=27.05.2008 04:18}{thema=}{post}снимаю шляпу — работает.  

      теперь объясните разницу..    
    пожалста-а-а{/post}{/quote}А фиг его знает. Я точно знаю, что DecimalSeparator в VBA «.»  
    Думаю, что VBA меняет точку на точку, имея в виду DecimalSeparator, а эксель меняет вбашный DecimalSeparator на свой.  
    Плюс этого кода в независимости от региональных настроек юзера.

     

    да, возможно.  

      еще раз спасибо

     

    ZVI

    Пользователь

    Сообщений: 4328
    Регистрация: 23.12.2012

    —  
    Application.DecimalSeparator всегда возвращает тот разделитель, который прописан в Сервис – Параметры – Международные – Разделитель целой и дробной части, даже если выбран флажок «Использовать системные разделители».  

      А символ десятичного разделителя чисел Excel зависит еще и от того, использованы ли системные разделители через меню: Сервис – Параметры – Международные — Использовать системные разделители.  

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

      Например:  
    — системный десятичный знак – запятая;  
    — в меню: Сервис – Параметры – Международные – Разделитель целой и дробной части указана точка, и при этом установлен флаг «Использовать системные разделители».  

      При этом Application.DecimalSeparator выдаст точку, а Excel-ю для числовых ячеек нужна запятая.  

      Чтобы не зависеть от подобных накладок я использую такую функцию:  

      ‘ Символ десятичного разделителя  
    Function DecSep() As String  
    With Application  
    If .UseSystemSeparators Then  
    DecSep = Mid$(CStr(0.1), 2, 1)  
    Else  
    DecSep = .International(xlDecimalSeparator)  
    End If  
    End With  
    End Function  

      —  
    ZVI

     

    zvi, больше интересовала другая особенность:  

      при непосредственном указании             Range(Cells(2, 4), Cells(i, 7)).Replace What:=».», Replacement:=»,», LookAt:=xlPart, _  

      точки убираются, но запятые не появляются  

      при             Range(Cells(2, 4), Cells(i, 7)).Replace What:=».», Replacement:=Application.DecimalSeparator, LookAt:=xlPart, _  

        все нормально, точки меняются на запятые

     

    {quote}{login=ZVI}{date=28.05.2008 01:37}{thema=Re:}{post}—  
    Application.DecimalSeparator всегда возвращает тот разделитель, который прописан в Сервис – Параметры – Международные – Разделитель целой и дробной части, даже если выбран флажок «Использовать системные разделители».  

      А символ десятичного разделителя чисел Excel зависит еще и от того, использованы ли системные разделители через меню: Сервис – Параметры – Международные — Использовать системные разделители.  

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

      Например:  
    — системный десятичный знак – запятая;  
    — в меню: Сервис – Параметры – Международные – Разделитель целой и дробной части указана точка, и при этом установлен флаг «Использовать системные разделители».  

      При этом Application.DecimalSeparator выдаст точку, а Excel-ю для числовых ячеек нужна запятая.  

      Чтобы не зависеть от подобных накладок я использую такую функцию:  

      ‘ Символ десятичного разделителя  
    Function DecSep() As String  
    With Application  
    If .UseSystemSeparators Then  
    DecSep = Mid$(CStr(0.1), 2, 1)  
    Else  
    DecSep = .International(xlDecimalSeparator)  
    End If  
    End With  
    End Function  

      —  
    ZVI{/post}{/quote}Да. По поводу DecimalSeparator  
    я ошибался.  
    Сейчас провел небольшие изыскания и выяснил, что  
    1. VBA всегда использует системный DecimalSeparator, хотя в коде употребляется только точка. Это понятно, т.к. запятая испоьзуется для других известных целей.  
    2. Конструкция Application.International(xlDecimalSeparator) всегда корректно возвращает DecimalSeparator используемый в экселе, вне зависимости стоит галка UseSystemSeparators или нет  
    3. Конструкция Mid$(CStr(0.1), 2, 1)  
    всегда возвращает системый DecimalSeparator    
    В приложении пример для опытов с услов. форматированием точка — красный, запятая — желтый.  
    А также в модуле 2 нарытая аццкая функция для возврата системного DecimalSeparator :)  
    2 слэн. Теперь думаю так: у Вас DecimalSeparator стоял точкой потому и прошло :)  
    Можно тупо менять точку на точку, при этом ячейка переписывается заново, но уже с DecimalSeparator в понимании VBA  
    Что характерно: Код типа Cells.Replace What:=».», Replacement:=Application.International(xlDecimalSeparator), LookAt:=xlPart, SearchOrder _  
           :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  
    работает, но корежит числа делая их текстом с «правильным» разделителем.  
    Резьюм: меняем что-то на точку.

     
     

    ZVI

    Пользователь

    Сообщений: 4328
    Регистрация: 23.12.2012

    {quote}{login=слэн}{date=28.05.2008 09:47}{thema=}{post}zvi, больше интересовала другая особенность:  

      при непосредственном указании             Range(Cells(2, 4), Cells(i, 7)).Replace What:=».», Replacement:=»,», LookAt:=xlPart, _  

      точки убираются, но запятые не появляются  

      при             Range(Cells(2, 4), Cells(i, 7)).Replace What:=».», Replacement:=Application.DecimalSeparator, LookAt:=xlPart, _  

        все нормально, точки меняются на запятые{/post}{/quote}  
    —  
    Метод .Replace хоть и со странностями, но с ним то все понятно.  

      Функция DecSep() мною была приведена в развитие темы, так как звучало «и с наибольшей скоростью ибо данных может быть много». С этой функцией замена текстовых ячеек на числовые работает в 2-3 раза быстрее, чем Replace. На моем компе — примерно в 2.9 раза быстрее.  

      Для того, чтобы сравнить эффективность 2-х методов замены прилагаю файл небольшой тест-системы с подробными комментариями.  
    —  
    ZVI

     

    ZVI, безусловно, Вы нам уже не раз доказывали, что считать массив, обработать, записать гораздо быстрее, чем непосредственная обработка экселем.  
    У меня показывает преимущество метода 2 в 1.89 раза.  
    Но, с учетом моего предыдущего поста, я решил проэксперементировать и закоментировал следующий код  
    ‘    ds = DecSep()  
    ‘    For Each v In x  
    ‘      i = InStr(1, v, «.», 0)  
    ‘      If i > 0 Then Mid$(v, i, 1) = ds  
    ‘    Next  
    Т.е. реально осталось:  
       x = .Value  
       .NumberFormat = «General»  
       .Value = x  
    Работает, даже если поставить разделитель дробной части «%» :)  
    Можно даже так:  
       .NumberFormat = «General»  
       .Value = .Value  
    Но все это работает в отношении текста с точкой.

     

    ZVI, простите, но я нашел у Вас ошибку.  
    Mid$(v, i, 1) = ds меняет символ только для переменной v  
    массив х остается без изменений. Т.е. работает так:  
    x = .Value  
    .NumberFormat = «General»  
    .Value = x  
    А «фор ич в ин х» пустая трата времени.  
    Попробуйте с    
    TestString = «1,5518»  
    и    
    i = InStr(1, v, «,», 0)  
    В результате получаем числа, но такие: 15518. Без разделителя.

     

    Придумал метод 3  
    Идея такая:    
    Пусть TestString = «1,5518», т.е. у нас некий текст с разделителем «запятая»  
    Запоминаем текущие настройки .UseSystemSeparators и .DecimalSeparator  
    меняем .DecimalSeparator на запятую или тот разделитель, который был в TestString    
    копируем пустую ячейку, вставляем значения со сложением.  
    Возвращаем настройки на место.  
    Скорость приятно удивляет даже без оптимизации кода (см. файл)  
    Поправил метод 2 немного.

     

    ZVI

    Пользователь

    Сообщений: 4328
    Регистрация: 23.12.2012

    {quote}{login=Лузер™}{date=29.05.2008 09:21}{thema=}{post}ZVI, простите, но я нашел у Вас ошибку.  
    Mid$(v, i, 1) = ds меняет символ только для переменной v  
    массив х остается без изменений. Т.е. работает так:  
    x = .Value  
    .NumberFormat = «General»  
    .Value = x  
    А «фор ич в ин х» пустая трата времени.  
    Попробуйте с    
    TestString = «1,5518»  
    и    
    i = InStr(1, v, «,», 0)  
    В результате получаем числа, но такие: 15518. Без разделителя.{/post}{/quote}  
    —  
    Да, Вы абсолютно правы!  
    Действительно, у меня получился частный случай с лишним For Next.  

      Ваша идея с манипуляцией .UseSystemSeparators и .DecimalSeparator замечательная!  
    Но только и она пока, к сожалению, является частным случаем, т.к. не работает, если системный разделитель запятая — выдает 15518.  
    Возможно, нужно манипулировать системым разделителем вместо Excel-ного.  

      Смогу подключиться к проблеме уже на выходных.  
    —  
    ZVI

     

    Она не совсем не работает. Я эксперементировал с запятой и получил работающий код. На радостях выложил. Продолжил эксперименты с разделителем «%» — не работает. Вернулся к запятой, снова не работает.  
    Но работает с любым разделителем, если операцию спец вставки выполнять вручную. Даже записав их макрорекордером, я получаю 15518. Хотя еще один раз у меня сработал код, но отследить и повторить не удалось. :(

     

    {quote}{login=Лузер™}{date=30.05.2008 10:24}{thema=}{post}Она не совсем не работает. Я эксперементировал с запятой и получил работающий код. На радостях выложил. Продолжил эксперименты с разделителем «%» — не работает. Вернулся к запятой, снова не работает.  
    Но работает с любым разделителем, если операцию спец вставки выполнять вручную. Даже записав их макрорекордером, я получаю 15518. Хотя еще один раз у меня сработал код, но отследить и повторить не удалось. :({/post}{/quote}  

      вот-вот :)  

      но ваш первый код работает(у меня) без проблем.(это с replace и decimalseparator)  

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

      файлов может быть до 1000  
    строк в каждом до 20000  

      в конечной таблице строк до 800 000  

      сейчас работаю с 60 000 строк основной таблицы — для этого требуется обработать около 40 файлов — на генерацию таблицы уходит 27сек

     

    Если есть возможность занести значения в эксель как текст с точкой (если установленный разделитель запятая то любые цифры разделённые точкой воспринимаются общим форматом как текст)  
    для активного листа  
    Sub USNumbers()  
      Application.ScreenUpdating = False  
      Application.Calculation = xlCalculationManual  
      Dim cell As Range  
      On Error Resume Next  
      For Each cell In ActiveSheet.Cells.SpecialCells(xlConstants, xlTextValues)  
         On Error Resume Next  
         cell.Value = Val(cell.Value)  
         On Error GoTo 0  
      Next cell  
      Application.Calculation = xlCalculationAutomatic  
      Application.ScreenUpdating = True  
    End Sub  

      ‘функция вал работает только с us-строками  
    ‘aeyrwbz свид, тьфу cdbl работает с региональными стандартами, то бишь запятой

     

    ZVI

    Пользователь

    Сообщений: 4328
    Регистрация: 23.12.2012

    {quote}{login=dl}{date=02.06.2008 08:40}{thema=val  и cdbl}{post}Если есть возможность занести значения в эксель как текст с точкой (если установленный разделитель запятая то любые цифры разделённые точкой воспринимаются общим форматом как текст)  
    для активного листа  
    Sub USNumbers()  
      Application.ScreenUpdating = False  
      Application.Calculation = xlCalculationManual  
      Dim cell As Range  
      On Error Resume Next  
      For Each cell In ActiveSheet.Cells.SpecialCells(xlConstants, xlTextValues)  
         On Error Resume Next  
         cell.Value = Val(cell.Value)  
         On Error GoTo 0  
      Next cell  
      Application.Calculation = xlCalculationAutomatic  
      Application.ScreenUpdating = True  
    End Sub  

      ‘функция вал работает только с us-строками  
    ‘aeyrwbz свид, тьфу cdbl работает с региональными стандартами, то бишь запятой{/post}{/quote}  
    —  
    Верно, но это в 4 раза медленнее, чем модифицированный Лузером™ вариант 2.  
    С учетом уточненой Слэном задачи (наверное, уже и выполненной), эффективнее, пожалуй, было бы считать весь текстовый файл в переменную, произвести в этой переменной замену точки на запятую, и затем с помощью .TextToColumns скопировать в ячейки как числа.  
    Или, не мудрствуя, использовать исходный вариант 2 без For Next, так как речь идет о преобразовании точки в запятую, а не наоборот  
    —  
    ZVI

     

    слэн

    Гость

    #30

    05.06.2008 14:51:16

    «спешу» предоставить уважаемому сообществу третий способ преобразования, еще более быстрый..  
    благодаря предоставленному ZVI тесту, мне не пришлось себя утруждать :)  
    см вложение  

      ps мне этот способ не понадобился  — я обошелся вообще без преобразования(вернее оно выполняется встроенными средствами иксель при открытии текстового файла). Надо конечно попробовать упомянутый ZVI способ чтения файла в переменную..

    Прикрепленные файлы

    • post_19474.rar (13.8 КБ)

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

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

    Содержание

    • Метод 1: использование инструмента “Найти и заменить”
    • Метод 2: функция “ПОДСТАВИТЬ”
    • Метод 3: использование макроса
    • Метод 4: применение Блокнота
    • Метод 5: настройка параметров Эксель
    • Метод 6: системные настройки
    • Заключение

    Метод 1: использование инструмента “Найти и заменить”

    Начнем мы, пожалуй, с самого простого метода, который предполагает использование инструмента “Найти и заменить”, при работе с которым нужно быть предельно внимательным, чтобы случайно не заменить точки на запятые в данных, где этого не следовало делать (к примеру, в датах). Итак, вот как это работает:

    1. Переходим во вкладку “Главная”, и кликаем по кнопке “Найти и выделить” (значок в виде лупы) в блоке “Редактирование”. Откроется список, где выбираем команду “Заменить”. Или же можно просто нажать комбинацию клавиш Ctrl+H.Запуск инструмента Заменить в Экселе
    2. На экране отобразится окно “Найти и заменить”:
      • в поле для ввода значения напротив пункта “Найти” пишем символ “.” (точка);
      • в поле “Заменить на” пишем знак “,” (запятая);
      • жмем кнопку “Параметры”.Поиск и замена точек на запятые в Эксель
    3. Появятся дополнительные параметры для выполнения поиска и замены. Щелкаем по кнопке “Формат” для параметра “Заменить на”.Детальная настройка поиска и замены точек на запятые в Эксель
    4. В появившемся окне указываем формат корректируемой ячейки (ту, что мы получим в итоге). Согласно нашей задаче выбираем “Числовой” формат, после чего щелкаем OK. При желании, можно задать количество знаков после запятой, а также, разделить группы разрядов путем установки соответствующего флажка.Замена формата на числовой в Excel
    5. В результате мы снова окажемся в окне “Найти и заменить”. Здесь нам обязательно нужно выделить область ячеек, в которых будет осуществляться поиск точек и их дальнейшая замена на запятые. В противном случае операция по замене будет выполнена по всему листу и могут быть затронуты данные, которые не нужно было менять. Выделение диапазона ячеек происходит с помощью зажатой левой кнопки мыши. По готовности нажимаем “Заменить все”.Запуск функции найти и заменить в Excel
    6. Все готово. Операция благополучно завершена, о чем свидетельствует информационное окошко с количеством выполненных замен.Результат работы инструмента Найти и заменить в Эксель
    7. Закрываем все окна (за исключением самого Эксель), после чего можем продолжить работу с преобразованным данными в таблице.Результат замены точек на запятые в Excel

    Примечание: чтобы не выбирать диапазон ячеек во время настройки параметров в окне “Найти и заменить”, можно сделать это заранее, т.е. сначала выделить ячейки, и затем запустить соответствующий инструмент через кнопки на ленте программы или с помощью сочетания клавиш Ctrl+H.

    Выбор инструмента Заменить в Excel

    Метод 2: функция “ПОДСТАВИТЬ”

    Давайте теперь рассмотрим функцию “ПОДСТАВИТЬ”, которая также позволяет выполнять замену точек на запятые. Но в отличие от метода, который мы рассмотрели выше, замена значений выполняется не в начальных, а выводится в отдельные ячейки.

    1. Переходим в самую верхнюю ячейку столбца, куда планируем выводить данные, после чего жмем кнопку “Вставить функцию” (fx) слева от строки формул.Вставка функции в ячейку таблицы Эксель
    2. В открывшемся окне Мастера функций выбираем категорию – “Текстовые”, в котором находим оператор “ПОДСТАВИТЬ”, выбираем его и щелкаем OK.Выбор оператора ПОДСТАВИТЬ в Excel
    3. Мы окажемся в окне с аргументами функции, которые нужно заполнить:
      • в значении аргумента “Текст” указываем координаты первой ячейки столбца, в которой нужно заменить точки на запятые. Сделать это можно вручную, прописав адрес с помощью клавиш на клавиатуре. Или можно сначала кликнуть мышью внутри поля для ввода информации, после чего – по нужной ячейке в таблице.
      • в значении аргумента “Стар_текст” пишем символ “.” (точка).
      • для аргумента “Нов_текст” указываем в качестве значения символ “,” (запятая).
      • значение для аргумента “Номер_вхождения” можно не заполнять.
      • по готовности щелкаем OK.Заполнение аргументов функции ПОДСТАВИТЬ в Эксель
    4. Получаем в выбранной ячейке требуемый результат.Результат функции ПОДСТАВИТЬ в ячейке таблицы Excel
    5. Осталось только распространить данную функцию на оставшиеся строки столбца. Делать это вручную, разумеется, не нужно, так как в Эксель есть удобная функция автозаполнения. Для этого наводим курсор на правый нижний угол ячейки с формулой, когда вид указателя сменится на черный плюсик (маркер заполнения), зажав левую кнопку мыши тянем его вниз до самой последней строки, участвующей в преобразовании данных.Растягивание функции на другие ячейки в Эксель
    6. Остается только переместить преобразованные данные в то место таблицы, где они должны быть. Для этого выделяем ячейки столбца с результатами (если после предыдущего действия выделение снято), кликаем по любому месту выделенного диапазона правой кнопкой мыши и выбираем пункт “Копировать” (или нажимаем сочетание клавиш Ctrl+C).Копирование ячеек столбца в Эксель
    7. Затем выделяем аналогичный диапазон ячеек в исходном столбце, данные которого были преобразованы. Кликаем правой кнопкой мыши по выделенной области и в раскрывшемся контекстном меню в вариантах вставки выбираем “Значения”.Вставка скопированных данных в виде значений в Эксель
    8. После вставки скопированных данных рядом с ними появится значок в виде восклицательного знака. Щелкаем на него и в раскрывшемся перечне выбираем “Преобразовать в число”.Преобразование вставленных данных в число в Excel
    9. Все готово, мы получили столбец, в котором все точки заменены на запятые.Замена точек на запятые в столбце таблицы Эксель
    10. Рабочий столбец, используемый для работы с функцией ПОДСТАВИТЬ, теперь не нужен, и его можно удалить через контекстное меню. Для этого щелкаем правой кнопкой мыши по обозначению столбца на горизонтальной панели координат и выбираем в появившемся перечне команду “Удалить”.Удаление столбца в Excel через контекстное меню
    11. Перечисленные выше действия, если требуется, можно выполнить в отношении других колонок исходной таблицы.

    Метод 3: использование макроса

    Макросы также позволяют заменить точку на запятую. Вот, как это делается:

    1. Сперва нужно убедиться в том, что включена вкладка “Разработчик”, которая по умолчанию в Эксель выключена. Для включения нужной вкладки переходим в меню “Файл”. Переход в меню Файл в Excel
    2. В перечне слева переходим в раздел “Параметры”.Переход в Параметры Excel
    3. В параметрах программы щелкаем по разделу “Настроить ленту”, после чего в правой части окна ставим галочку напротив пункта “Разработчик” и кликаем OK.Включение вкладки Разработчика в параметрах Эксель
    4. Переключаемся во вкладку “Разработчик”, в которой кликаем по кнопке “VisualBasic”.Активация инструмента Visual Basic в Эксель
    5. В редакторе щелкаем по листу, на котором мы хотим произвести замену, в открывшемся окне вставляем код ниже, после чего закрываем редактор:
      Sub Макрос_замены_точки_на_запятую()
      Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
      ReplaceFormat:=False
      End Sub
      Замена точек на запятые через редактор Visual Basic в Эксель
    6. Теперь выделяем диапазон ячеек на листе, где планируем выполнить замену, после чего кликаем по кнопке “Макросы” все в той же вкладке “Разработчик”.Применение макросов в Excel
    7. Откроется окно с перечнем макросов, в котором выбираем “Макрос_замены_точки_на_запятую” и нажимаем “Выполнить”.Выбор макроса для выполнения в Excel
    8. В результате мы получим ячейки с преобразованными данными, в которых точки были заменены на запятые, что нам и требовалось.Результат замены точек на запятые с помощью макросов в Эксель

    Метод 4: применение Блокнота

    Данный метод реализуется через копирование данных во встроенный в операционную систему Windows редактор Блокнот для последующего редактирования. Порядок действий прдеставлен ниже:

    1. Для начала производим выделение диапазона ячеек, в значениях которых нужно выполнить замену точек на запятые (рассмотрим на примере одного столбца). После этого правой кнопкой мыши щелкаем по любому месту выделенной области и в раскрывшемся меню выбираем команду “Копировать” (или можно использовать сочетание клавиш Ctrl+C).Копирование ячеек столбца в Эксель
    2. Запускаем Блокнот и вставляем скопированную информацию. Для этого щелкаем правой кнопкой мыши и выбираем в раскрывшемся меню команду “Вставить” (или используем комбинацию Ctrl+V).Вставка скопированных данных в Блокнот
    3. В верхней строке меню щелкаем по пункту “Правка”. Откроется перечень, в котором кликаем по команде “Заменить” (или жмем горячие клавиши Ctrl+H).Инструмент Замены в Блокноте
    4. На экране появится небольшое окошко замены:
      • в поле для ввода значения параметра “Что” печатаем символ “.” (точка);
      • в качестве значения для параметра “Чем” ставим символ “,” (запятая);
      • нажимаем “Заменить все”.Замена точек на запятые в Блокноте
    5. Закрываем окно замены. Выделяем преобразованные данные, затем кликаем правой кнопки мыши по ним и выбираем команду “Копировать” в открывшемся контекстном меню (также, можно использовать Ctrl+C).Копирование данных в Блокноте
    6. Снова переходим в Excel. Отмечаем область, куда нужно вставить измененные данные. Затем щелкаем по выделенному диапазону правой кнопкой мыши и выбираем команду “Сохранить только текст” в вариантах вставки (или жмем Ctrl+V).Вставка скопированных данных в виде текста в Excel
    7. Осталось только задать формат ячеек как “Числовой”. Выбрать его можно в блоке инструментов “Число” (вкладка “Главная”), кликнув по текущему формату и выбрав нужный.Изменение формата данных на Числовой в Excel
    8. Поставленная задача успешно выполнена.Столбец с числовыми данными в Эксель

    Метод 5: настройка параметров Эксель

    Реализуя этот метод, нам нужно изменить определенные настройки программы.

    1. Заходим в меню “Файл”, где щелкаем по разделу “Параметры”.Параметры в Эксель
    2. В параметрах программы в перечне слева кликаем по разделу “Дополнительно”. В блоке настроек “Параметры правки” убираем флажок напротив опций “Использовать системные разделители”. После этого активируются поля для ввода символов в качестве разделителей. В качестве разделителя целой и дробной части пишем символ “.” (точка) и сохраняем настройки нажатием кнопки OK.Настройка разделителя целой и дробной части в параметрах Эксель
    3. Визуальных изменений в таблице не произойдет. Поэтому движемся дальше. Для этого копируем данные и вставляем их в Блокнот (рассмотрим на примере одного столбца).Числовые данные в Блокноте
    4. Выделяем данные из Блокнота и вставляем обратно в таблице Эксель в том же самое месте, откуда скопировали их. При этом выравнивание данных сменилось с левого края на правый. Это означает то, что теперь программа эти значения воспринимает как числовые.Столбец с числовыми данными в Эксель
    5. Снова заходим в параметры программы (раздел “Дополнительно”), где возвращаем флажок напротив пункта “Использовать системные разделители” на место и нажимаем кнопку OK.Настройка разделителя целой и дробной части в параметрах Excel
    6. Как видим, точки были автоматически заменены программой на запятые. Не забываем сменить формат данных на “Числовой” и можно работать с ними дальше.Столбец с числовыми данными в Эксель c запятой в качестве разделителя

    Метод 6: системные настройки

    И напоследок, рассмотрим еще один метод, который схож с тем, который описан выше, но предполагает изменение настроек не Эксель, а операционной системы Windows.

    1. Заходим в Панель управления любым удобным способом. Например, это можно сделать через Поиск, набрав нужное название и выбрав найденный вариант.Запуск Панели управления через Поиск в Windows
    2. Настраиваем просмотр в виде мелких или крупных значков, после чего щелкаем по разделу “Региональные стандарты”.Раздел Региональные стандарты в Панели управления Windows
    3. Появится окно настроек региона, в котором, находясь во вкладке “Форматы” щелкаем по кнопке “Дополнительные настройки”.Дополнительные параметры в настройках региональных стандартов в Windows
    4. В появившемся следом окне с настройками формата видим параметр “Разделитель целой и дробной части” и значение, установленной для него. Вместо запятой пишем точку и нажимаем OK.Настройка разделителя целой и дробной части в Windows
    5. Аналогично рассмотренному выше пятому методу, производим копирование данных из Excel в Блокнот и обратно.Выделенный столбец в Эксель с числовыми данными
    6. Возвращаем настройки формата в исходное положение. Данное действие критически важно, так как противном случае возможны ошибки в работе других программ и утилит.Настройка разделителя целой и дробной части в Панели управления Windows
    7. Все точки в столбце, над которым мы работали, автоматически заменились на запятые.Выделенный столбец в Excel с числовыми данными

    Заключение

    Таким образом, в Эксель предусмотрено 5 различных методов, пользуясь которыми можно заменить точки на запятые, если во время работы будет возникать такая необходимость. Помимо этого, можно воспользоваться еще одним способом, который предполагает внесение изменений в настройки самой операционной системы Windows, в которой установлена программа Excel.

    Содержание

    1. Изменение параметров Excel
    2. Изменение системных настроек Windows
    3. Как изменить разделитель в Excel 2007
    4. Инструмент «Найти и заменить»
    5. Применение функции
    6. Использование макроса
    7. Правила замены точек и запятых в программе Excel
    8. Как заменить точку с запятой во всем документе Excel
    9. Временно меняем настройки Excel
    10. Временно меняем системные настройки Windows
    11. Использование функции ПОДСТАВИТЬ
    12. Использование Блокнота
    13. Как поменять точки на запятые в Excel в определенном месте
    14. Заключение

    Один из самых легких способов доступный любому новичку, да и вообще любому пользователю Excel. Вы заходите в пункт меню «Файл», выбираете «Параметры» и в окне которое открылось, выбираем пункт «Дополнительно», здесь нас интересует пункт «Использовать системные разделители». Вы заходите в пункт меню «Файл», выбираете «Параметры» и в окне которое открылось, выбираем пункт «Дополнительно», здесь нас интересует пункт «Использовать системные разделители». Если галочка на этом пункте уже стоит, то программа будет смотреть на системные настройки, о них мы поговорим чуть ниже. Но если вам надо сейчас изменить настройки, то вы должны убрать галочку с данного пункта и поставить ее на пункт «Разделитель целой и дробной части» и вписываем в разблокированные поля вместо «точки» — «запятую», ну или наоборот.

    Замечание! Уже выгруженные в Excel данные не изменяются и не преобразуются в числовое значение, для текущих изменений нужно использовать совсем другие способы, к примеру:

    Изменение системных настроек Windows

    Этот способ, заменить точки на запятые в Excel, также не является сложным в исполнении и как было сказано выше нужен, если у вас в Excel стоят настройки на систему. Системные изменения нужно внести по следующему адресу «Пуск» — «Панель управления» — «Часы, язык и регион», далее выбираете в разделе «Язык и региональные стандарты» пункт «Изменение форматов даты, времени и чисел», в открывшемся окне выбираем системную вкладку «Форматы» — «Дополнительные настройки», в открывшемся окне «Настройка формата», на вкладке «Числа», в поле «Разделитель целой и дробной части» вам необходимо заменить «точку» на «запятую» либо наоборот и нажать «ОК».


    Внимание! После этого вы можете выгружать отчёты с нужными вам знаками, но для их корректной работы в исходном варианте, вам нужно будет вернуть настройки на свое место!

    Как изменить разделитель в Excel 2007

    Нажмите кнопку «Office» и откройте окно параметров Excel.

    Выберите «Дополнительно», а в разделе «Параметры правки» введите в поле разделителя целой и дробной части запятую. Изменение вступит в силу как только вы нажмете кнопку «ОК».

    Инструмент «Найти и заменить»

    Наиболее простой способ выполнение трансформации запятой на точку – это применение инструмента «Найти и заменить». Но, сразу нужно отметить, что для вычислений такой способ не подойдет, так как содержимое ячеек будет преобразовано в текстовый формат.

    1. Производим выделение области на листе, где нужно трансформировать запятые в точки. Выполняем щелчок правой кнопкой мышки. В запустившемся контекстном меню отмечаем пункт «Формат ячеек…». Те пользователи, которые предпочитают пользоваться альтернативными вариантами с применением «горячих клавиш», после выделения могут набрать комбинацию клавиш Ctrl+1.
    2. Производится запуск окна форматирования. Производим передвижение во вкладку «Число». В группе параметров «Числовые форматы» перемещаем выделение в позицию «Текстовый». Для того чтобы сохранить внесенные изменения, щелкаем по кнопке «OK». Формат данных в выбранном диапазоне будет преобразован в текстовый.
    3. Опять выделяем целевой диапазон. Это важный нюанс, ведь без предварительного выделения трансформация будет произведена по всей области листа, а это далеко не всегда нужно. После того, как область выделена, передвигаемся во вкладку «Главная». Щелкаем по кнопке «Найти и выделить», которая размещена в блоке инструментов «Редактирование» на ленте. Затем открывается небольшое меню, в котором следует выбрать пункт «Заменить…».
    4. После этого запускается инструмент «Найти и заменить» во вкладке «Заменить». В поле «Найти» устанавливаем знак «,», а в поле «Заменить на»«.». Щелкаем по кнопке «Заменить все».
    5. Открывается информационное окно, в котором предоставляется отчет о выполненной трансформации. Делаем щелчок по кнопке «OK».

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

    Применение функции

    Второй способ предполагает применение оператора ПОДСТАВИТЬ. Для начала с помощью этой функции преобразуем данные в отдельном диапазоне, а потом скопируем их на место исходного.

    1. Выделяем пустую ячейку напротив первой ячейки диапазона с данными, в котором запятые следует трансформировать в точки. Щелкаем по пиктограмме «Вставить функцию», размещенную слева от строки формул.
    2. После этих действий будет запущен Мастер функций. Ищем в категории «Тестовые» или «Полный алфавитный перечень» наименование «ПОДСТАВИТЬ». Выделяем его и щелкаем по кнопке «OK».
    3. Открывается окно аргументов функции. Она имеет три обязательных аргумента «Текст», «Старый текст» и «Новый текст». В поле «Текст» нужно указать адрес ячейки, где размещены данные, которые следует изменить. Для этого устанавливаем курсор в данное поле, а затем щелкаем мышью на листе по первой ячейке изменяемого диапазона. Сразу после этого адрес появится в окне аргументов. В поле «Старый текст» устанавливаем следующий символ – «,». В поле «Новый текст» ставим точку – «.». После того, как данные внесены, щелкаем по кнопке «OK».
    4. Как видим, для первой ячейки преобразование выполнено успешно. Подобную операцию можно провести и для всех других ячеек нужного диапазона. Хорошо, если этот диапазон небольшой. Но что делать, если он состоит из множества ячеек? Ведь на преобразование подобным образом, в таком случае, уйдет огромное количество времени. Но, процедуру можно значительно ускорить, скопировав формулу ПОДСТАВИТЬ с помощью маркера заполнения.

      Устанавливаем курсор на правый нижний край ячейки, в которой содержится функция. Появляется маркер заполнения в виде небольшого крестика. Зажимаем левую кнопку мыши и тянем этот крестик параллельно области, в которой нужно трансформировать запятые в точки.

    5. Как видим, все содержимое целевого диапазона было преобразовано в данные с точками вместо запятых. Теперь нужно скопировать результат и вставить в исходную область. Выделяем ячейки с формулой. Находясь во вкладке «Главная», щелкаем по кнопке на ленте «Копировать», которая расположена в группе инструментов «Буфер обмена». Можно сделать и проще, а именно после выделения диапазона набрать комбинацию клавиш на клавиатуре Ctrl+1.
    6. Выделяем исходный диапазон. Щелкаем по выделению правой кнопкой мыши. Появляется контекстное меню. В нем выполняем щелчок по пункту «Значения», который расположен в группе «Параметры вставки». Данный пункт обозначен цифрами «123».
    7. После этих действий значения будут вставлены в соответствующий диапазон. При этом запятые будут трансформированы в точки. Чтобы удалить уже не нужную нам область, заполненную формулами, выделяем её и щелкаем правой кнопкой мыши. В появившемся меню выбираем пункт «Очистить содержимое».

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

    Использование макроса

    Следующий способ трансформации запятых в точки связан с использованием макросов. Но, дело состоит ещё в том, что по умолчанию макросы в Экселе отключены.

    Прежде всего, следует включить макросы, а также активировать вкладку «Разработчик», если в вашей программе они до сих пор не активированы. После этого нужно произвести следующие действия:

    1. Перемещаемся во вкладку «Разработчик» и щелкаем по кнопке «Visual Basic», которая размещена в блоке инструментов «Код» на ленте.
    2. Открывается редактор макросов. Производим вставку в него следующего кода:

      Sub Макрос_трансформации_запятых_в_точки()
      Selection.Replace What:=",", Replacement:="."
      End Sub

      Завершаем работу редактора стандартным методом, нажав на кнопку закрытия в верхнем правом углу.

    3. Далее выделяем диапазон, в котором следует произвести трансформацию. Щелкаем по кнопке «Макросы», которая расположена все в той же группе инструментов «Код».
    4. Открывается окно со списком имеющихся в книге макросов. Выбираем тот, который недавно создали через редактор. После того, как выделили строку с его наименованием, щелкаем по кнопке «Выполнить».

    Выполняется преобразование. Запятые будут трансформированы в точки.

    Правила замены точек и запятых в программе Excel

    1. Если в настройках программы Excel разработчиком в основных настройках точка задана как десятичный разделитель, то изменить ее на запятую можно в стандартной панели установок программы Excel. Открыть ее можно сочетанием клавиш Alt+«Ф».
    2. В появившемся перед вами меню выберите строчку «Дополнительно» и следом «Использовать системные разделители». Далее просто проведите замену и сохраните произведенные изменения. После этого именно запятая будет выступать разделителем десятичных дробей.

    Как заменить точку с запятой во всем документе Excel

    1. Если вам необходимо заменить точку запятой только в одной определенной ячейке сделать это лучше вручную. Просто нажмите дважды на ячейку и проведите замену. Убедитесь заранее, что файл открыт для редактирования. Просто удалите точку и поставьте на ее место запятую. После чего закройте ячейку для редактирования.
    2. Для массового замещения запятыми абсолютного количества точек необходимо применить диалоговое окошко поиска и замены. Он расположен в верхнем меню программы справа. Перед вами откроется диалоговое окно, в котором производится автозамена символов.
    3. В поле диалогового окна «Найти» введите точку, а запятую — в поле «Заменить на». Далее нажмите на вариант меню «Заменить все» и программа приступит к выполнению заданной команды. Это может занять некоторое время, если объем данных табличного редактора достаточно велик. Это же относится и к обратным действиям по замене запятой на точку во всем документе. Обратите внимание на тот момент, что будет произведена автозамена абсолютно всех символов в документе, поэтому внимательно отнеситесь к данной операции, для того чтобы ваши данные не были полностью испорчены ошибочными действиями при автозамене.

    Временно меняем настройки Excel

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

    Для этого нужно открыть «Файл»-«Параметры»-«Дополнительно». В разделе «Параметры правки» следует временно убрать галочку «Использовать системные разделители». А в поле «Разделитель целой и дробной части» следует удалить запятую и ввести точку.

    После выполнения вычислений настоятельно рекомендуется вернуть настройки по умолчанию.

    Внимание! Данный способ сработает, если сделать все изменения до импорта данных, а не после.

    Временно меняем системные настройки Windows

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

    Открываем «Пуск»-«Панель управления»-«Языки и региональные стандарты». Нажимаем на кнопку «Дополнительно». В появившимся окне изменяем в первом поле «Разделитель целой и дробной части» – вводим нужное нам значение. Дальше ОК и ОК.

    Внимание! Если вы откроете этот файл на другом компьютере, где установлены другие системные параметры региональных стандартов, то могут возникнуть проблемы с вычислениями.

    Использование функции ПОДСТАВИТЬ

    Ещё одним вариантом замены точки на запятую является использование функции ПОДСТАВИТЬ. Правда, при использовании этой функции замена происходит не в исходных ячейках, а отображается в отдельной колонке.

    1. Выделяем ячейку, которая станет самой первой в колонке для вывода измененных данных. Кликаем по кнопке «Вставить функцию», которая располагается слева от места нахождения строки функций.
    2. Запускается Мастер функций. В списке, представленном в открытом окне, ищем функцию ПОДСТАВИТЬ. Выделяем её и жмем на кнопку «OK».
    3. Активируется окно аргументов функции. В поле «Текст» нужно ввести координаты первой ячейки столбца, где располагаются числа с точками. Это можно сделать, просто выделив эту ячейку на листе с помощью мыши. В поле «Стар_текст» вставляем точку (.). В поле «Нов_текст» ставим запятую (,). Поле «Номер_вхождения» заполнять не нужно. Сама функция будет иметь такой шаблон: «=ПОДСТАВИТЬ(адрес_ячейки;».»;»,»)». Жмем на кнопку «OK».
    4. Как видим, в новой ячейке у числа уже вместо точки запятая. Теперь нам нужно сделать подобную операцию для всех других ячеек столбца. Конечно, вводить для каждого числа функцию не нужно, есть намного более быстрый способ выполнить преобразование. Становимся на правый нижний край ячейки, которая содержит преобразованные данные. Появляется маркер заполнения. Удерживая левую кнопку мыши, тянем его вниз до нижней границы области, содержащей преобразуемые данные.
    5. Теперь нам нужно присвоить ячейкам числовой формат. Выделяем всю область преобразованных данных. На ленте во вкладке «Главная» ищем блок инструментов «Число». В выпадающем списке меняем формат на числовой.

    На этом преобразование данных закончено.

    Использование Блокнота

    Следующий способ предполагает копирование данных в стандартный текстовый редактор Windows Блокнот, и изменение их в этой программе.

    1. Выделяем в Excel область ячеек, в которых нужно заменить точку на запятую. Кликаем правой кнопкой мыши. В контекстном меню выбираем пункт «Копировать».
    2. Открываем Блокнот. Делаем клик правой кнопкой мыши, и в появившемся списке кликаем по пункту «Вставить».
    3. Кликаем по пункту меню «Правка». В появившемся списке выбираем пункт «Заменить». Или же, можно просто набрать на клавиатуре комбинацию клавиш Ctrl+H.
    4. Открывается окно поиска и замены. В поле «Что» ставим точку. В поле «Чем» — запятую. Жмем на кнопку «Заменить все».
    5. Выделяем измененные данные в Блокноте. Кликаем правой кнопкой мыши, и в списке выбираем пункт «Копировать». Или жмем на клавиатуре сочетание клавиш Ctrl+C.
    6. Возвращаемся в Эксель. Выделяем диапазон ячеек, где следует заменить значения. Кликаем по нему правой кнопкой. В появившемся меню в разделе «Параметры вставки» кликаем по кнопке «Сохранить только текст». Либо, жмем сочетание клавиш Ctrl+V.
    7. На весь диапазон ячеек устанавливаем числовой формат тем же способом, как делали это ранее.

    Как поменять точки на запятые в Excel в определенном месте

    Нередки ситуации, когда работая с отчетом Excel, где используются в качестве разделителя, например, запятые, а вам присылают данные с точками и стоит задача поменять запятые на точки или наоборот. Самый простой способ – это выделить все данные с точками, нажать одновременно Ctrl+H (либо необходимо перейти (Excel 2007-2013) во вкладку Главная, раздел Редактирование, выбрать бинокль и в выпадающем меню выбрать пункт Заменить

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

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

    Макрос замены точки на запятую в выделенных ячейках

    Sub Макрос_замены_точки_на_запятую() Selection.Replace What:=".", Replacement:="," End Sub

    Макрос замены запятой на точку в выделенных ячейках

    Sub Макрос_замены_запятых_на_точки() Selection.Replace What:=",", Replacement:="." End Sub

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

    Важно! При работе с макросами невозможно будет отменить последние действия, поэтому будьте внимательны.

    Заключение

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

    Источники

    • https://topexcel.ru/5-bistrih-sposobov-kak-zamenit-tochki-na-zapyatye-v-excel/
    • https://myblaze.ru/kak-v-excel-zamenit-tochku-na-zapyatuyu/
    • https://lumpics.ru/how-change-comma-to-dot-in-excel/
    • https://besthard.ru/faq/kak-v-excel-zamenit-tochku-na-zapyatuyu/
    • https://exceltable.com/formatirovanie/zamenit-tochku-na-zapyatuyu
    • https://lumpics.ru/how-replace-dot-to-comma-in-excel/
    • https://sirexcel.ru/priemi-excel/kak-pomenyat-tochki-na-zapyatye-v-excel/
    • https://MicroExcel.ru/zamena-tochki-na-zapyatuyu/

    Понравилась статья? Поделить с друзьями:
  • Замена только первого символа excel
  • Замена текста при печати в word
  • Замена текста по шаблону word
  • Замена текста не во всем документе word
  • Замена текста на число excel