Как правильно выбрать кодировку в Excel: инструкция с примерами

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

Работа с текстовыми файлами в Microsoft Excel часто превращается в головную боль, когда вместо читаемых символов вы видите кракозябры или вопросительные знаки. Виной всему — неправильно выбранная кодировка. Эта проблема особенно актуальна при импорте данных из .csv, .txt или при экспорте таблиц для других систем.

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

В этой статье вы узнаете, как:

  • 🔹 Определить текущую кодировку файла перед импортом в Excel
  • 🔹 Выбрать правильную кодировку при открытии CSV/TXT
  • 🔹 Сохранить файл в нужной кодировке для других программ
  • 🔹 Решить проблемы с кракозябрами в уже открытых файлах
📊 Какую кодировку вы чаще всего используете в Excel?
UTF-8
Windows-1251 (ANSI)
Автоматическое определение
Не знаю, какая у меня

Как определить кодировку файла перед импортом в Excel

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

Самый надёжный метод — использовать специализированные инструменты:

  • 📌 Notepad++: откройте файл, посмотрите кодировку в строке состояния (внизу окна). Программа автоматически определяет формат.
  • 📌 VS Code: в правом нижнем углу отображается текущая кодировка (например, UTF-8 или Windows-1252).
  • 📌 Онлайн-сервисы: загрузите файл на encoding.rocks для анализа.

Если файлов много, можно воспользоваться командной строкой. Для Windows выполните:

chcp 65001 & type "путь_к_файлу.txt" | findstr /r "[а-яА-Я]"

Если вместо кириллицы выводятся кракозябры — файл не в UTF-8. Для Linux/Mac используйте:

file -i ваш_файл.csv

Пошаговая инструкция: выбор кодировки при открытии файла в Excel

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

  1. Откройте Excel и перейдите на вкладку Файл → Открыть.
  2. Выберите нужный файл (.csv, .txt, .prn).
  3. Вместо двойного клика нажмите на выпадающий список рядом с кнопкой Открыть и выберите Из текстового файла (для Excel 2016–2026) или Открыть как текстExcel 365).
  4. В появившемся окне Мастера импорта текста на первом шаге выберите:
    • 📄 Формат данных: С разделителями (для CSV) или Фиксированной ширины (для TXT с колонками).
    • 🔤 Файловый источник: укажите кодировку (например, 65001: Unicode (UTF-8) или 1251: Кириллица (Windows)).
  • Нажмите Далее и настройте разделители (запятая, точка с запятой, табуляция).
  • Завершите импорт, нажав Готово.
  • Убедитесь, что файл не открыт в другой программе|Проверьте расширение файла (CSV/TXT)|Запомните кодировку, определённую Notepad++|Выберите правильный разделитель (запятая/точка с запятой)|Сохраните оригинал файла на случай ошибок-->

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

    1. Выполните импорт один раз с правильными настройками.
    2. Сохраните файл как .iqy (веб-запрос) через Файл → Сохранить как → Другие форматы.
    3. В следующий раз просто откройте .iqy — Excel применит сохранённые параметры.
    Что делать, если нужной кодировки нет в списке?

    В старых версиях Excel (до 2016) UTF-8 может отсутствовать в выпадающем меню. Решение:

    1. Откройте файл в Notepad++ и конвертируйте в ANSI (меню "Кодировки → Преобразовать в ANSI").

    2. Сохраните файл и импортируйте в Excel уже в формате Windows-1251.

    3. Альтернатива — использовать Power Query (вкладка "Данные → Получить данные → Из файла → Из текстового/CSV").

    Сохранение файла в нужной кодировке: UTF-8 vs ANSI

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

    Инструкция для сохранения:

    1. Перейдите в Файл → Сохранить как.
    2. Выберите формат CSV (разделители — запятые) (*.csv).
    3. Нажмите Сервис → Параметры веб-документаExcel 2010–2019) или ДополнительноExcel 365).
    4. В разделе Кодировка выберите:
      • 🌍 Unicode (UTF-8) — для международных проектов.
      • 🇷🇺 Кириллица (Windows-1251) — для российских систем (1С, бухгалтерское ПО).
  • Сохраните файл.
  • Кодировка Поддерживаемые символы Когда использовать Проблемы
    UTF-8 Все языки, эмодзи, спецсимволы Экспорт для веб, базы данных, международные проекты Excel может некорректно открывать UTF-8 без BOM
    Windows-1251 (ANSI) Кириллица, латиница, основные символы 1С, бухгалтерское ПО, старые системы Не поддерживает эмодзи, арабский, китайский
    UTF-16 Все символы Unicode Резервный вариант, если UTF-8 не работает Большой размер файла, не все программы поддерживают

    Критическая деталь: Excel по умолчанию сохраняет CSV в ANSI, даже если исходный файл был в UTF-8. Всегда проверяйте кодировку после сохранения!

    Решение проблем с кракозябрами в уже открытых файлах

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

    Метод 1: Конвертация через Notepad++

    1. Скопируйте данные из Excel в Notepad++.
    2. В меню выберите Кодировки → Преобразовать в ANSI (если кракозябры) или Преобразовать в UTF-8 (если вопросительные знаки).
    3. Скопируйте обратно в Excel.

    Метод 2: Формула для замены символов

    Если кракозябры появляются из-за неправильной интерпретации UTF-8 без BOM, используйте функцию ПОДСТАВИТЬ:

    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(194);"");CHAR(160);" ")

    Эта формула удаляет артефакты кодировки (например, символы Â перед буквами).

    Метод 3: Power Query

    Для сложных случаев:

    1. Выделите данные и перейдите на вкладку Данные → Из таблицы/диапазона.
    2. В редакторе Power Query выберите колонку с кракозябрами → Преобразовать → Кодировка → Кириллица (Windows-1251).
    3. Нажмите Закрыть и загрузить.

    Работа с кодировками в Excel для Mac

    Версии Excel для macOS имеют свои особенности при работе с кодировками. Главное отличие — отсутствие некоторых форматов в стандартном диалоге открытия файла.

    Чтобы открыть файл в UTF-8 на Mac:

    1. Используйте TextEdit для предварительного просмотра кодировки (откройте файл, затем Формат → Преобразовать → Unicode (UTF-8)).
    2. В Excel выберите Файл → Импорт → Текстовый файл.
    3. На первом шаге мастера импорта выберите Файловый источник: 65001: Unicode (UTF-8).

    Для сохранения в UTF-8:

    1. Перейдите в Файл → Сохранить как.
    2. Выберите формат CSV UTF-8 (разделители — запятые) (*.csv).
    3. Если такого формата нет, используйте Automator для конвертации:
    4. automator -i input.csv --convert output.csv --encoding UTF-8
      ⚠️ Внимание: Excel для Mac по умолчанию сохраняет CSV в UTF-16, что может вызвать проблемы в Windows-приложениях. Всегда проверяйте кодировку после экспорта!

      Автоматизация работы с кодировками через VBA

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

      Sub SaveAsUTF8()
      

      Dim fs As Object, file As Object

      Dim strContent As String

      Dim strPath As String

      ' Путь для сохранения

      strPath = "C:\Temp\output.csv"

      ' Экспорт данных в CSV с разделителем запятая

      Open strPath For Output As #1

      For Each row In ActiveSheet.UsedRange.Rows

      For Each cell In row.Cells

      Print #1, """" & cell.Value & """";

      Next cell

      Print #1,

      Next row

      Close #1

      ' Конвертация в UTF-8 с BOM

      Set fs = CreateObject("ADODB.Stream")

      fs.Type = 2 ' Текстовый

      fs.Charset = "utf-8"

      fs.Open

      fs.LoadFromFile strPath

      fs.SaveToFile strPath, 2 ' Перезаписать файл

      fs.Close

      MsgBox "Файл сохранён в UTF-8: " & strPath

      End Sub

      Для импорта файла с выбором кодировки:

      Sub ImportCSVWithEncoding()
      

      Dim filePath As String

      Dim encoding As String

      ' Выбор файла

      filePath = Application.GetOpenFilename("Text Files (.csv;.txt),.csv;.txt")

      If filePath = "False" Then Exit Sub

      ' Выбор кодировки (1251 для Windows, 65001 для UTF-8)

      encoding = InputBox("Введите код кодировки (например, 1251 или 65001):", "Кодировка", "1251")

      ' Импорт через ADODB.Stream

      Dim fs As Object

      Set fs = CreateObject("ADODB.Stream")

      fs.Type = 2

      fs.Charset = encoding

      fs.Open

      fs.LoadFromFile filePath

      ActiveSheet.Range("A1").Value = fs.ReadText

      fs.Close

      ' Разделение по столбцам

      Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _

      Tab:=True, Semicolon:=True, Comma:=True, Space:=False, Other:=False

      End Sub

      ⚠️ Внимание: Макросы с использованием ADODB.Stream требуют подключения библиотеки Microsoft ActiveX Data Objects. Чтобы её активировать, перейдите в VBA-редактор → Tools → References и отметьте Microsoft ActiveX Data Objects x.x Library.

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

      Почему Excel не видит UTF-8 при открытии файла?

      Excel до версии 2016 не поддерживал UTF-8 напрямую. Решения:

      • Используйте Power Query (вкладка "Данные → Из текстового/CSV").
      • Откройте файл в Notepad++ и конвертируйте в ANSI перед импортом.
      • Добавьте BOM (байт порядка) в начало файла — многие программы (включая Excel) лучше распознают UTF-8 с BOM.
      Как сохранить CSV в UTF-8 без BOM?

      Excel всегда добавляет BOM при сохранении в UTF-8. Обходные пути:

      • Сохраните файл в UTF-8, затем откройте в Notepad++ и удалите первые 3 байта (BOM) вручную.
      • Используйте VBA-макрос (пример выше) с настройкой fs.SaveToFile strPath, 2.
      • Экспортируйте данные через Power Query — он позволяет сохранить без BOM.
      Какую кодировку выбрать для загрузки данных в 1С?

      Для 1С:Предприятие (особенно версий 8.2–8.3) обязательно используйте Windows-1251. UTF-8 может привести к:

      • Ошибкам при загрузке номенклатуры с кириллическими названиями.
      • Некорректному отображению символов в печатных формах.
      • Проблемам с выгрузкой в банк-клиенты (например, Сбербанк Бизнес Онлайн).

      Исключение: если ваша 1С настроена на работу с UTF-8 (редко, требует доработок конфигурации).

      Можно ли в Excel одновременно работать с UTF-8 и ANSI?

      Нет, Excel не поддерживает смешанные кодировки в одном файле. Решения:

      • Разделите данные на два листа/файла с разными кодировками.
      • Используйте Power Query для объединения данных после импорта.
      • Конвертируйте все файлы в одну кодировку (например, UTF-8) перед работой.
      Почему после сохранения в UTF-8 файл становится больше по размеру?

      UTF-8 кодирует символы переменной длиной (1–4 байта). Например:

      • Латинские буквы занимают 1 байт (как в ANSI).
      • Кириллические символы — 2 байта.
      • Эмодзи или иероглифы — 3–4 байта.

    Если файл содержит много кириллицы, его размер в UTF-8 будет на 50–100% больше, чем в ANSI. Это нормально и не влияет на производительность.