Как заменить кавычки в Excel: от простых способов до продвинутых приёмов

При импорте данных из CSV, баз данных или веб-страниц в Microsoft Excel кавычки часто становятся лишними символами, мешающими сортировке, фильтрации или преобразованию текста в числа. Например, значения вроде "123" или "Иванов" воспринимаются как текстовые строки, даже если должны быть числовыми или датами. Проблема усугубляется, когда кавычки дублируются (""Пример"") или комбинируются с другими символами ("ID:100"). В 80% случаев достаточно стандартного инструмента «Найти и заменить», но для сложных сценариев (например, при работе с JSON-данными или формулами) требуются альтернативные подходы.

В этой статье разберём 10 способов удаления или замены кавычек — от базовых (ручная замена, функция ПОДСТАВИТЬ) до продвинутых (Power Query, VBA-скрипты). Особое внимание уделим нюансам: как сохранить кавычки внутри текста (например, в фразах типа ООО "Ромашка"), как обработать тысячи строк без потери данных, и почему иногда Excel добавляет кавычки автоматически (и как это отключить).

1. Стандартная замена через «Найти и заменить»

Самый быстрый метод для однотипных кавычек — инструмент «Найти и заменить» (Ctrl+H). Он подходит, если кавычки одинаковые по всему документу и не являются частью сложных выражений. Алгоритм:

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

⚠️ Внимание: Если в тексте есть полезные кавычки (например, в названиях компаний), этот метод удалит их все. Для избирательной замены используйте ПОДСТАВИТЬ (раздел 2).

2. Функция ПОДСТАВИТЬ для избирательной замены

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

=ПОДСТАВИТЬ(текст; старый_текст; новый_текст)

Примеры:

  • 📌 =ПОДСТАВИТЬ(A1; """"; "") — удаляет все кавычки из ячейки A1.
  • 📌 =ПОДСТАВИТЬ(A1; """"; "'") — заменяет двойные кавычки на одинарные.
  • 📌 =ПОДСТАВИТЬ(A1; " "" "; " ") — убирает кавычки, но сохраняет пробелы вокруг них (полезно для чисел вроде " 100 ").

🔹 Нюанс: Если кавычка является первым символом в ячейке, Excel может воспринимать её как маркер текстового формата. Чтобы этого избежать, используйте комбинацию с ЗНАЧЕН():

=ЗНАЧЕН(ПОДСТАВИТЬ(A1; """"; ""))
Почему Excel добавляет кавычки автоматически?

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

1. При импорте выберите формат данных «Текст» вместо «Общий».

2. В настройках региональных стандартов (Файл → Параметры → Дополнительно) снимите флажок «Использовать системные разделители»**.

3. Замена кавычек в формулах с помощью НАЙТИ и ЗАМЕНИТЬ

Если кавычки мешают в формулах (например, при конкатенации текста), используйте комбинацию функций НАЙТИ() и ЗАМЕНИТЬ(). Это полезно, когда нужно заменить кавычки только в части строки.

Пример: заменить кавычки в ячейке A1, но только если они стоят в начале или конце:

=ЕСЛИ(ЛЕВСИМВ(A1)=""""; ПРАВСИМВ(A1; ДЛСТР(A1)-1); ЕСЛИ(ПРАВСИМВ(A1)=""""; ЛЕВСИМВ(A1; ДЛСТР(A1)-1); A1))

Для замены всех кавычек в формуле используйте:

=ЗАМЕНИТЬ(A1; """"; "")
Функция Пример использования Результат
ПОДСТАВИТЬ =ПОДСТАВИТЬ(A1; """"; "'") Заменяет "текст" на 'текст'
ЗАМЕНИТЬ =ЗАМЕНИТЬ(A1; 1; 1; "") Удаляет первый символ (если это кавычка)
НАЙТИ + ПСТР =ПСТР(A1; 2; ДЛСТР(A1)-2) Убирает первые и последние кавычки

4. Power Query: обработка больших объёмов данных

Для обработки тысяч строк (например, при импорте из SQL или JSON) удобнее использовать Power Query (Данные → Получить данные → Из текста/CSV). Алгоритм:

  1. Импортируйте файл через Power Query.
  2. Выделите столбец с кавычками, нажмите «Заменить значения»** (Главная → Заменить значения).
  3. В поле «Значение для поиска» введите ", в «Замена» — оставьте пустым или укажите новый символ.
  4. Нажмите «Закрыть и загрузить»**.

🔹 Преимущество: Power Query сохраняет шаги обработки, поэтому при обновлении данных кавычки будут удаляться автоматически.

1. Проверьте кодировку файла (должна быть UTF-8).

2. Разделите столбцы по разделителю (если данные в формате CSV).

3. Удалите пустые строки (Главная → Удалить строки → Удалить пустые строки).

4. Преобразуйте текст в нужный формат (Преобразовать → Формат).-->

5. VBA-скрипт для автоматизации

Если замену кавычек приходится делать регулярно, напишите макрос на VBA. Пример кода для удаления всех кавычек в выделенном диапазоне:

Sub RemoveQuotes()

Dim rng As Range

For Each rng In Selection

If Not IsEmpty(rng.Value) Then

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

End If

Next rng

End Sub

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

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

⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов). Для избирательной замены модифицируйте условие в коде (например, добавив проверку на начало/конец строки).

📊 Какой метод замены кавычек вы используете чаще?
Найти и заменить (Ctrl+H)
Функция ПОДСТАВИТЬ
Power Query
VBA-скрипты

6. Обработка JSON-данных с кавычками

При импорте JSON-файлов в Excel кавычки могут дублироваться или искажать структуру данных. Например, строка {"name": "Иван"} после импорта превращается в "{""name"": ""Иван""}". Чтобы исправить это:

  1. Используйте Power Query с параметром «JSON»** при импорте.
  2. Для ручной обработки примените формулу:
    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "{"""; "{"); """}"; "}")
  3. Если JSON вложенный, используйте VBA или специализированные парсеры (например, Python с библиотекой json).

🔹 Совет: Для сложных JSON-структур лучше использовать внешние инструменты (например, Notepad++ с плагином JSON Viewer), а затем импортировать очищенные данные в Excel.

7. Как сохранить «полезные» кавычки

Иногда кавычки являются частью данных (например, в названиях ООО "Альфа"). Чтобы удалить только лишние кавычки, используйте комбинацию функций:

=ЕСЛИ(И(ЛЕВСИМВ(A1)=""""; ПРАВСИМВ(A1)=""""); ПСТР(A1; 2; ДЛСТР(A1)-2); A1)

Эта формула удаляет кавычки только если они стоят в начале и конце строки, сохраняя внутренние.

  • 📌 Для замены только начальных кавычек: =ЕСЛИ(ЛЕВСИМВ(A1)=""""; ПРАВСИМВ(A1; ДЛСТР(A1)-1); A1).
  • 📌 Для замены только конечных кавычек: =ЕСЛИ(ПРАВСИМВ(A1)=""""; ЛЕВСИМВ(A1; ДЛСТР(A1)-1); A1).

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

Excel автоматически добавляет кавычки в трёх случаях:

  1. Импорт CSV: если разделитель совпадает с символами в данных (например, запятая в адресе "Москва, ул. Ленина").
  2. Текстовый формат: когда ячейка начинается с =, + или -, Excel оборачивает её в кавычки, чтобы избежать ошибок.
  3. Экспорт в CSV: по умолчанию текстовые поля экранируются кавычками.

Как предотвратить:

  • 📌 При импорте CSV выберите «Текстовый формат»** для столбцов с числами.
  • 📌 В настройках региональных стандартов (Параметры → Дополнительно) отключите «Использовать системные разделители»**.
  • 📌 Для экспорта в CSV без кавычек используйте Power Query или VBA.

⚠️ Внимание: Если после удаления кавычек числа отображаются как текст (выровнены по левому краю), примените формат «Общий»** или используйте функцию ЗНАЧЕН().

FAQ: Частые вопросы о замене кавычек в Excel

❓ Как заменить кавычки только в начале строки?

Используйте формулу: =ЕСЛИ(ЛЕВСИМВ(A1)=""""; ПРАВСИМВ(A1; ДЛСТР(A1)-1); A1). Она проверяет первый символ и удаляет его, если это кавычка.

❓ Почему после замены кавычек числа стали текстом?

Excel автоматически преобразует ячейки в текстовый формат, если они начинались с кавычки. Чтобы исправить, выделите ячейки, нажмите «Текст по столбцам» (Данные → Текст по столбцам) и выберите формат «Общий».

❓ Как удалить кавычки в формуле, не ломая её?

Если кавычки внутри формулы (например, =СЖПРОБЕЛЫ(" текст ")), используйте ПОДСТАВИТЬ в другой ячейке: =ПОДСТАВИТЬ(ФОРМУЛА; """"; ""). Для редактирования самой формулы нажмите F2 и удалите кавычки вручную.

❓ Можно ли заменить кавычки в защищённом листе?

Нет, инструмент «Найти и заменить»** не работает на защищённых листах. Сначала снимите защиту (Рецензирование → Снять защиту листа), затем выполните замену.

❓ Как обработать кавычки в данных с переносами строк?

Если текст содержит разрывы строк (Alt+Enter), используйте ПОДСТАВИТЬ с символом CHAR(10) для переноса. Пример: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; """"; ""); CHAR(10); " ").