Где в Excel изменить кодировку: 5 способов исправить кракозябры в файлах

Вы открыли файл в Microsoft Excel и вместо читаемого текста увидели странные символы вроде Как работать или �����? Это классическая проблема несовпадения кодировок — и она решается за 2-3 клика. В отличие от специализированных текстовых редакторов вроде Notepad++, в Excel нет прямого меню "Изменить кодировку", но есть скрытые инструменты для импорта и сохранения данных в нужном формате.

В 90% случаев кракозябры появляются при открытии файлов, созданных в других программах (например, экспортированных из , MySQL или сохранённых в OpenOffice с кодировкой UTF-8). Реже проблема возникает при работе с CSV-файлами, где Excel по умолчанию использует Windows-1251 (ANSI) вместо UTF-8. В этой статье — все способы исправить кодировку, включая скрытый мастер импорта текста, который игнорируют даже опытные пользователи.

1. Почему Excel неправильно отображает кодировку?

Кракозябры в Excel — это не ошибка программы, а следствие конфликта между:

  • 📁 Исходной кодировкой файла (например, UTF-8, Windows-1251, KOI8-R)
  • 🖥️ Кодировкой, которую ожидает Excel (по умолчанию — ANSI для русского языка)
  • 🔄 Способом открытия файла (двойной клик vs. импорт через мастер)

Excel не умеет автоматически определять кодировку, как это делают браузеры или Notepad++. Вместо этого программа использует региональные настройки Windows. Например, если ваша система настроена на русский язык, Excel по умолчанию будет пытаться открыть файл в кодировке Windows-1251 — и если файл сохранён в UTF-8, символы исказятся.

📊 С какой кодировкой вы чаще сталкиваетесь в Excel?
UTF-8
Windows-1251
KOI8-R
Другая
Не знаю

Особенно часто проблема возникает с:

  • 📊 Файлами .csv и .txt, экспортированными из баз данных (MySQL, PostgreSQL)
  • 📄 Документами, созданными в OpenOffice Calc или LibreOffice
  • 💾 Данными, полученными из веб-форм или API (обычно в UTF-8)

2. Способ 1: Импорт данных через мастер текстов (100% рабочий метод)

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

Инструкция для Excel 2010–2026 и Microsoft 365:

  1. Откройте пустую книгу Excel.
  2. Перейдите на вкладку ДанныеПолучить данныеИз файлаИз текстового/CSV-файла.
  3. Выберите проблемный файл и нажмите Импорт.
  4. В открывшемся окне предварительного просмотра нажмите Преобразовать данные.
  5. В Power Query выберите столбец с кракозябрами → вкладка ПреобразованиеКодировка → укажите нужную (например, 1251: Кириллица (Windows) или 65001: Unicode (UTF-8)).
  6. Нажмите Закрыть и загрузить.

Выберите пустую книгу Excel|Закройте все открытые файлы с кракозябрами|Убедитесь, что файл не заблокирован (нет ошибки "доступ запрещён")|Проверьте расширение файла (.csv, .txt, .prn)-->

Если в Power Query нет нужной кодировки, попробуйте альтернативный путь:

  1. Откройте файл через ФайлОткрыть → выберите файл → нажмите стрелку рядом с кнопкой ОткрытьОткрыть и восстановить.
  2. В мастере импорта текста (откроется автоматически) на первом шаге выберите формат С разделителями и кодировку 1251: Кириллица (Windows) или 65001: Unicode (UTF-8).
  3. Нажмите Готово.

3. Способ 2: Сохранение файла в другой кодировке

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

  1. Нажмите ФайлСохранить как.
  2. В поле Тип файла выберите Текстовый файл CSV (*.csv).
  3. Нажмите Сервис (или Инструменты в старых версиях) → Параметры веб-документа.
  4. В разделе Сохранение выберите кодировку:
    • 🔹 Unicode (UTF-8) — для современных файлов
    • 🔹 Кириллица (Windows) — для старых систем
  • Сохраните файл и откройте его заново.
  • Важно: при сохранении в CSV Excel предложит сохранить только активный лист. Если данных много, предварительно скопируйте их на один лист.

    Что делать, если в "Параметрах веб-документа" нет нужной кодировки?

    В некоторых версиях Excel (например, 2016) список кодировок сокращён. В этом случае:

    1. Сохраните файл как Текстовый файл (с разделителями табуляции) (*.txt).

    2. Откройте его в БлокнотеФайл → Сохранить как → выберите кодировку UTF-8 или ANSI.

    3. Откройте исправленный файл в Excel через мастер текстов (способ 1).

    4. Способ 3: Использование Блокнота для конвертации

    Если Excel упорно не хочет открывать файл правильно, промежуточным звеном может стать Блокнот Windows:

    1. Щёлкните правой кнопкой по файлу → Открыть с помощьюБлокнот.
    2. В Блокноте нажмите ФайлСохранить как.
    3. В поле Кодировка выберите:
      • 🔹 UTF-8 — если файл был в ANSI
      • 🔹 ANSI — если файл был в UTF-8
  • Сохраните файл под новым именем (например, file_fixed.csv) и откройте его в Excel.
  • Преимущество этого метода — Блокнот показывает текущую кодировку файла в строке состояния (внизу окна). Если там написано UTF-8, а Excel открывает файл как ANSI, причина кракозябр очевидна.

    5. Способ 4: Настройка региональных параметров Windows

    Если все файлы открываются с кракозябрами, проблема может быть в системных настройках:

    1. Нажмите Win + R, введите intl.cpl и нажмите Enter.
    2. Перейдите на вкладку Дополнительно.
    3. В разделе Язык программ, не поддерживающих Юникод выберите Русский.
    4. Нажмите OK и перезагрузите компьютер.

    Эта настройка влияет на то, как Windows (и Excel) интерпретирует текст в не-Юникод программах. После изменения параметра попробуйте открыть проблемный файл заново.

    ⚠️ Внимание: Изменение региональных параметров может повлиять на отображение текста в других программах (например, в старых играх или 1С). Если после смены кодировки появились проблемы, верните настройку обратно.

    6. Способ 5: Использование VBA для массового исправления кодировки

    Если вам регулярно приходится исправлять кодировку в десятках файлов, макрос VBA сэкономит часы времени. Ниже скрипт для конвертации UTF-8 в Windows-1251:

    Sub ConvertUTF8ToANSI()
    

    Dim fd As FileDialog

    Dim filePath As String

    Dim content As String

    Dim newContent() As Byte

    Dim i As Integer

    ' Выбор файла

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    fd.Title = "Выберите файл для конвертации"

    fd.Filters.Clear

    fd.Filters.Add "Текстовые файлы", ".csv;.txt;*.prn"

    If fd.Show = -1 Then

    filePath = fd.SelectedItems(1)

    ' Чтение файла как UTF-8

    Open filePath For Binary As #1

    content = Input$(LOF(1), 1)

    Close #1

    ' Конвертация в ANSI (Windows-1251)

    newContent = StrConv(content, vbFromUnicode, 1251)

    ' Сохранение нового файла

    Open filePath & "_fixed.txt" For Binary As #1

    Put #1, , newContent

    Close #1

    MsgBox "Файл сохранён как " & filePath & "_fixed.txt", vbInformation

    End If

    End Sub

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

    1. Нажмите Alt + F11 для открытия редактора VBA.
    2. Вставьте код в новый модуль (Insert → Module).
    3. Запустите макрос (F5) и выберите проблемный файл.
    4. Результат будет сохранён с суффиксом _fixed.txt.
    ⚠️ Внимание: Макрос работает только для файлов, изначально сохранённых в UTF-8. Если кодировка другая (например, KOI8-R), потребуется доработка скрипта.

    Сравнение методов исправления кодировки в Excel

    Метод Подходит для Сложность Сохраняет форматирование Работает с большими файлами
    Мастер текстов (способ 1) CSV, TXT, PRN ⭐⭐ Нет Да
    Сохранение в другой кодировке (способ 2) XLSX, CSV Частично Да
    Блокнот (способ 3) Текстовые файлы Нет Да (до 50 МБ)
    Региональные настройки (способ 4) Все файлы ⭐⭐⭐ Да Да
    VBA-макрос (способ 5) Массовая обработка ⭐⭐⭐⭐ Нет Да

    FAQ: Частые вопросы о кодировке в Excel

    Почему при открытии CSV в Excel русские буквы превращаются в знаки вопроса?

    Это происходит, потому что Excel по умолчанию открывает CSV-файлы в кодировке ANSI (Windows-1251 для русского языка), а ваш файл сохранён в UTF-8. Решение:

    1. Используйте мастер текстов (способ 1) и укажите кодировку 65001: Unicode (UTF-8).
    2. Или откройте файл в Блокноте и сохраните его в ANSI.
    Как узнать, в какой кодировке сохранён мой файл?

    Есть 3 надёжных способа:

    1. Блокнот: откройте файл → в строке состояния (внизу окна) будет указана кодировка.
    2. Notepad++: откройте файл → в меню Кодировки текущая будет отмечена точкой.
    3. Командная строка: выполните команду chcp (покажет текущую кодировку консоли), затем type "имя_файла.csv" — если символы читаемы, кодировки совпадают.
    Можно ли изменить кодировку по умолчанию в Excel?

    Нет, в Excel нет настроек для изменения кодировки по умолчанию. Однако вы можете:

    • 🔹 Настроить региональные параметры Windows (способ 4), чтобы Excel использовал нужную кодировку для новых файлов.
    • 🔹 Создать шаблон книги с правильной кодировкой и использовать его для импорта данных.
    • 🔹 Использовать VBA-макрос для автоматической конвертации при открытии файлов.
    Почему после сохранения в UTF-8 Excel всё равно показывает кракозябры?

    Это происходит из-за BOM-метки (байтового порядка) в UTF-8. Некоторые программы (например, ) не корректно обрабатывают файлы с BOM. Решение:

    1. Откройте файл в Notepad++.
    2. Перейдите в Кодировки → Преобразовать в UTF-8 (без BOM).
    3. Сохраните файл и откройте его в Excel через мастер текстов.
    Как исправить кодировку в Excel Online?

    В веб-версии Excel (Excel Online) нет инструментов для изменения кодировки. Ваши действия:

    1. Скачайте файл на компьютер.
    2. Исправьте кодировку любым из описанных способов (например, через Блокнот).
    3. Загрузите исправленный файл обратно в OneDrive или SharePoint.

    Альтернатива: используйте Power Query Online (доступен в Excel для веба), чтобы импортировать данные с указанием кодировки.