Знаки вопроса в Excel вместо текста: причины и решения

Вы открыли файл Excel и вместо ожидаемого текста видите бессмысленные знаки вопроса или иероглифы? Эта проблема знакома многим пользователям — от новичков до опытных аналитиков. Чаще всего она возникает при импорте данных из внешних источников, копировании текста из веб-страниц или работе с файлами, созданными в других программах. В 90% случаев виноваты несовпадение кодировок, повреждённые шрифты или неправильные настройки ячеек.

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

Важно: решения работают для всех версий Microsoft Excel (2010, 2013, 2016, 2019, 365) и Excel для Mac. Если вы используете Google Таблицы или LibreOffice Calc — принципы аналогичны, но пути в меню могут отличаться.

1. Причина №1: Неправильная кодировка текста

Самая распространённая причина появления ????конфликт кодировок между источником данных и Excel. Например, если текст был скопирован из веб-страницы в кодировке UTF-8, а Excel пытается интерпретировать его как Windows-1251 (или наоборот). Особенно часто это происходит при работе с:

  • 📄 Файлами .csv или .txt, экспортированными из баз данных
  • 🌐 Данными, скопированными с сайтов (особенно на кириллице)
  • 📊 Отчётами из , SAP или других корпоративных систем
  • 📧 Письмами из Outlook с вложенными таблицами

Чтобы проверить и исправить кодировку:

  1. Откройте исходный файл (например, .csv) в Блокноте (не Word!).
  2. В меню выберите Файл → Сохранить как.
  3. В поле Кодировка попробуйте варианты: UTF-8, ANSI (Windows-1251), Unicode.
  4. Сохраните файл и откройте его заново в Excel.

Для автоматизации процесса можно использовать Power QueryExcel 2016+):

  1. Перейдите на вкладку Данные → Получить данные → Из файла → Из текстового/CSV.
  2. В окне предварительного просмотра нажмите Преобразовать данные.
  3. В Power Query выберите колонку с"битыми" символами → Преобразовать → Кодировка.

2. Проблемы со шрифтами: когда Excel"не видит" символы

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

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

  • 🔍 Выделите ячейку с ???? и посмотрите шрифт в панели инструментов (например, Arial или Times New Roman).
  • 📛 Попробуйте изменить шрифт на Calibri, Segoe UI или DejaVu Sans (последний поддерживает максимальное количество символов).
  • 🖥️ Если проблема сохраняется, проверьте, установлены ли в системе шрифты для нужного языка (например, китайские иероглифы требуют шрифтов SimSun или Microsoft YaHei).

Для Windows:

  1. Откройте Панель управления → Шрифты.
  2. Проверьте наличие шрифтов для нужного языка (например, Arial Unicode MS для широкой поддержки символов).
  3. Если шрифта нет — скачайте его с официального сайта Microsoft или из Google Fonts.
Как установить шрифты для китайских/японских символов?

В Windows 10/11 перейдите в Параметры → Время и язык → Язык → Дополнительные параметры → Установить шрифт для отображения комплексных символов. Выберите Meiryo (японский) или Microsoft JhengHei (китайский).

Для MacOS:

Шрифты устанавливаются через Font Book (можно найти через Spotlight). Для кириллицы и спецсимволов рекомендуем шрифты Helvetica Neue или San Francisco.

Windows 10/11|MacOS|Linux|Другая-->

3. Неправильный формат ячейки: текст как дата или число

Иногда Excel ошибочно интерпретирует текст как дату, время или число, что приводит к замене символов на ????. Например, если в ячейке был текст 12.05.2023, а Excel решил, что это дата, он может отобразить её как 45047 (количество дней с 1900 года) или вовсе заменить на знаки вопроса.

Как исправить:

  1. Выделите проблемную ячейку (или диапазон).
  2. Нажмите правой кнопкой → Формат ячеек.
  3. Выберите категорию Текстовый и нажмите ОК.
  4. Если текст не восстановился — введите в ячейку =ТЕКСТ(A1) (где A1 — адрес вашей ячейки) и скопируйте результат через Специальная вставка → Значения.
Формат ячейки Пример отображения Как исправить
Общий 12.05.202345047 Установить формат Текстовый
Дата 31/12/2022???? Использовать формулу =ТЕКСТ(A1;"@")
Числовой 1E+10???? Расширить столбец или изменить формат на Текстовый
Процентный 50%0.5 Умножить на 100 или изменить формат

Если проблема возникает при импорте данных из или SAP, попробуйте:

  • 📥 Экспортировать данные в .xlsx вместо .csv.
  • 🔄 Использовать промежуточный формат .txt с явным указанием кодировки.
  • 🛠️ В настройках экспорта отключить опцию"Автоформатирование чисел".

4. Повреждённый файл Excel: как восстановить данные

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

  • ⚡ Аварийного завершения работы Excel.
  • 💾 Ошибок при сохранении на сетевой диск.
  • 📥 Некорректного импорта данных из внешних источников.
  • 🦠 Вирусного заражения файла.

Способы восстановления:

Открыть файл в режиме восстановления (Файл → Открыть → Выбрать файл → Стрелка рядом с"Открыть" → Открыть и восстановить)

Сохранить файл в формате.xls (Excel 97-2003) и обратно в.xlsx

Использовать встроенную утилиту"Открыть и восстановить" (Файл → Сведения → Управление книгой → Восстановить)

Экспортировать данные в.csv и импортировать заново

-->

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

  1. Создайте новый файл Excel.
  2. Перейдите на вкладку Данные → Получить данные → Из файла → Из книги Excel.
  3. Выберите повреждённый файл и импортируйте только нужные листы.

Для Excel 365 и Excel 2019 доступен инструмент "Восстановление предыдущей версии":

  1. Откройте папку с файлом в Проводнике.
  2. Щёлкните правой кнопкой по файлу → Свойства → Предыдущие версии.
  3. Выберите последнюю рабочую версию и нажмите Восстановить.

5. Проблемы с региональными настройками Windows

Редко, но метко: неправильные региональные настройки системы могут влиять на отображение текста в Excel. Например, если в системе установлен английский (США) как язык по умолчанию, а вы работаете с кириллическими символами, могут возникать артефакты.

Как проверить настройки:

  1. В Windows: Параметры → Время и язык → Регион.
  2. Проверьте, что в разделе Форматы данных установлен правильный регион (например, Россия для кириллицы).
  3. В разделе Язык добавьте нужный языковой пакет (например, Русский).

Для Excel отдельно:

  1. Перейдите в Файл → Параметры → Дополнительно.
  2. В разделе Параметры редактирования проверьте настройки Автозамена и Автоформат.
  3. Отключите опцию Автоматически применять формат к числам, если она включена.

6. Специальные случаи: 1С, SAP и веб-скрейпинг

При импорте данных из корпоративных систем (, SAP, Oracle) или веб-страниц знаки вопроса могут появляться из-за:

  • 📊 Несовместимости форматов (например, экспортирует в DBF, а Excel его некорректно считывает).
  • 🌐 HTML-тегов в скопированном тексте (например,   или &).
  • 🔢 Специальных разделителей (табуляции, неразрывные пробелы).

Решения для :

  • 📥 Экспортируйте данные в .xlsx через Файл → Сохранить как → Excel 2007+.
  • 🔧 В настройках экспорта отключите опцию Сохранять форматирование.
  • 📝 Используйте промежуточный формат .csv с разделителем ; (точка с запятой).

Для веб-данных:

  1. Перед копированием текста с сайта очистите его от тегов через Блокнот или онлайн-инструменты вроде HTML Entity Converter.
  2. Используйте Power Query для импорта веб-данных:
let

Source = Web.Page(Web.Contents("https://example.com")),

Data = Source{0}[Data],

#"Promoted Headers" = Table.PromoteHeaders(Data, [PromoteAllScalars=true]),

#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Column1", type text}})

in

#"Changed Type"

Для SAP:

Экспортируйте данные в .xlsx через транзакцию SE16 или SQVI, предварительно установив в настройках пользователя параметр Excel Format = XLSX.

7. Автоматизация: формулы и VBA для массовой обработки

Если знаки вопроса появляются регулярно в больших таблицах, имеет смысл автоматизировать их исправление. Вот несколько полезных приёмов:

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

  • 🔤 =ПОДСТАВИТЬ(A1;CHAR(63);"") — удаляет все ? (символ с кодом 63).
  • 🔤 =ТЕКСТ(A1;"@") — принудительно преобразует ячейку в текст.
  • 🔤 =КОДСИМВ(ЛЕВСИМВ(A1)) — показывает код первого символа (помогает диагностировать проблему).

VBA-макрос для массовой замены:

Sub ReplaceQuestionMarks

Dim rng As Range

Dim cell As Range

Set rng = Selection' или укажите диапазон, например: Range("A1:A100")

For Each cell In rng

If Not IsEmpty(cell) Then

cell.Value = Replace(cell.Value, Chr(63),"")' удаляем?

cell.NumberFormat ="@"' устанавливаем текстовый формат

End If

Next cell

End Sub

Чтобы запустить макрос:

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

Для Google Таблиц можно использовать Apps Script:

function replaceQuestionMarks {

var sheet = SpreadsheetApp.getActiveSheet;

var range = sheet.getDataRange;

var values = range.getValues;

for (var i = 0; i < values.length; i++) {

for (var j = 0; j < values[i].length; j++) {

if (values[i][j] instanceof String) {

values[i][j] = values[i][j].replace(/\?/g,'');

}

}

}

range.setValues(values);

}

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

🔹 Почему в Excel вместо букв отображаются квадратики (□) или ромбы (◊)?

Это признак отсутствующего шрифта для отображения символов. Квадратики появляются, когда:

  • В системе не установлен шрифт, поддерживающий нужные символы (например, Wingdings для специальных значков).
  • Текст содержит непечатаемые символы (например, символы с кодами 0–31).
  • Ячейка имеет неправильную кодировку (например, UTF-16 вместо UTF-8).

Решение: измените шрифт на Arial Unicode MS или Lucida Sans Unicode, либо очистите текст от непечатаемых символов формулой =ЧИСТ(A1).

🔹 Как исправить знаки вопроса при открытии файла.csv в Excel?

Проблемачна для файлов .csv, сохранённых в кодировке UTF-8 с BOM или ANSI. Пошаговое решение:

  1. Откройте файл в Блокноте.
  2. Сохраните его с кодировкой UTF-8 (без BOM).
  3. В Excel используйте Данные → Из текста/CSV и на первом шаге выберите кодировку 65001 (Unicode UTF-8).

Если не помогает — попробуйте открыть файл через Power Query (см. раздел 1).

🔹 Почему в Excel вместо кириллицы отображаются кракозябры?

Это классический признак конфликта кодировок. Кириллические символы в кодировке Windows-1251 при открытии как UTF-8 превратятся в кракозябры, и наоборот. Решения:

  • 🔄 Пересохраните файл в правильной кодировке (см. раздел 1).
  • 📋 Используйте Мастер текстов при импорте .csv и укажите кодировку 1251.
  • 🛠️ Для массовой конвертации используйте утилиты вроде Notepad++ (меню Кодировки → Преобразовать в UTF-8).
🔹 Можно ли восстановить данные, если Excel заменил их на знаки вопроса?

Это зависит от причины:

  • ✅ Если проблема в кодировке или формате ячейки — данные восстанавливаются на 100% (см. разделы 1 и 3).
  • ⚠️ Если файл повреждён, шансы зависят от степени повреждения. Попробуйте открыть его в LibreOffice Calc или Google Таблицах — иногда они справляются лучше.
  • ❌ Если вы сохранили файл поверх оригинала после появления ????, восстановление маловероятно. В этом случае поможет только резервная копия.

Для критичных данных рекомендуем использовать журнал изменений (Рецензирование → Журнал изменений) или регулярно сохранять версии файла.

🔹 Как избежать появления знаков вопроса при экспорте из 1С?

Настройте экспорт в следующим образом:

  1. В параметрах экспорта выберите формат Excel 2007+ (.xlsx).
  2. Отключите опции Сохранять форматирование и Автоподбор ширины столбцов.
  3. Установите разделитель Табуляция или Точка с запятой.
  4. В поле Кодировка укажите UTF-8.

Если проблема сохраняется — экспортируйте данные в .mxl (промежуточный формат ) и затем конвертируйте в Excel через Файл → Открыть.