Вы когда-нибудь сталкивались с ситуацией, когда важные данные хранятся только в виде скриншота, отсканированного документа или фотографии таблицы? Перепечатывать их вручную — утомительно и чревато ошибками. К счастью, Excel предлагает несколько способов автоматически извлечь текст с изображений, а для сложных случаев можно задействовать специализированные инструменты.
Эта статья не про магию — речь пойдёт о технологии OCR (Optical Character Recognition), которая преобразует пиксели в символы. Мы разберём встроенные возможности Excel 365 и Excel 2021, а также внешние сервисы для распознавания текста с максимальной точностью. Особое внимание уделим нюансам: как избежать ошибок при работе с размытыми изображениями, таблицами с сеткой или текстом на цветном фоне.
Спойлер: если вам нужно распознать одну-две картинки, хватит и стандартных инструментов Microsoft. Для обработки сотен документов потребуются продвинутые решения — их мы тоже рассмотрим.
1. Встроенное распознавание текста в Excel 365/2021: пошаговая инструкция
Начиная с версии Excel 365 (обновление от мая 2022 года), в программе появилась функция извлечения данных с изображений на основе технологии Microsoft Power Query. Она работает прямо в интерфейсе таблиц и не требует установки дополнительного ПО.
Чтобы воспользоваться ею:
- Откройте книгу Excel и перейдите на вкладку
Данные. - В группе
Получить данныевыберитеИз файла → Из изображения. - Загрузите файл (поддерживаются форматы
.jpg,.png,.bmp). - Дождитесь обработки — Excel покажет предварительный результат в окне
Power Query. - Нажмите
Импортировать, чтобы вставить данные в новую таблицу.
⚠️ Внимание: Функция доступна только в Excel для Windows (версии 2205 и новее) и Excel для Mac (версии 16.54 и новее). В веб-версии и мобильных приложениях её нет.
- Убедитесь, что текст чёткий (разрешение не менее 300 dpi)
- Удалите тени и блики с фото
- Поверните изображение, если текст расположен под углом
- Обрежьте лишние поля (оставьте только таблицу/текст)
-->
Стандартный OCR от Microsoft справляется с печатным текстом на 80–90%, но может ошибаться с:
- 🔹 Рукописными записями (распознаёт только печатные символы).
- 🔹 Таблицами с тонкими линиями (может "склеить" ячейки).
- 🔹 Текстом на цветном фоне (лучше работает с чёрно-белыми изображениями).
- 🔹 Языками с нелатинской письменностью (кириллица распознаётся хуже, чем латиница).
2. Альтернативные способы: OneNote + Excel и онлайн-сервисы
Если ваша версия Excel не поддерживает встроенный OCR, или качество распознавания вас не устраивает, воспользуйтесь обходными путями. Один из самых надёжных — комбинация OneNote и Excel.
Как это работает:
- Откройте OneNote (входит в пакет Microsoft Office).
- Перетащите изображение в заметку или вставьте его через
Вставка → Изображение. - Щёлкните по картинке правой кнопкой и выберите
Копировать текст с изображения. - Вставьте скопированный текст в Excel (
Ctrl+V).
Преимущество этого метода — OneNote использует более совершенный OCR-движок, чем Excel, и лучше справляется с таблицами и многоязычным текстом. Однако для больших объёмов данных процесс придётся повторять вручную для каждого изображения.
Для автоматизации подойдут онлайн-сервисы:
| Сервис | Бесплатный лимит | Поддержка таблиц | Точность (рус.) |
|---|---|---|---|
| OnlineOCR | 15 изображений/час | Да | 85% |
| NewOCR | 10 изображений/день | Нет | 80% |
| OCR.Space | 25 000 символов/месяц | Да (API) | 88% |
| i2OCR | Без ограничений | Частично | 75% |
⚠️ Внимание: Онлайн-сервисы передают ваши данные на внешние серверы. Не загружайте изображения с конфиденциальной информацией (паспортные данные, финансовые отчёты).
3. Распознавание текста с помощью Power Query (для опытных пользователей)
Для тех, кто знаком с Power Query, есть более гибкий способ извлечения данных с изображений. Он требует немного больше усилий, но позволяет обрабатывать партии файлов и настраивать правила очистки текста.
Алгоритм действий:
- Создайте папку и поместите в неё все изображения для распознавания.
- В Excel перейдите в
Данные → Получить данные → Из файла → Из папки. - Выберите папку с изображениями и нажмите
Импортировать. - В открывшемся окне
Power Queryдобавьте пользовательскую функцию для OCR (например, черезPython-скриптили подключение к Azure Cognitive Services). - Примените трансформации для очистки данных и загрузите результат в Excel.
Пример кода для Power Query (требуется подключение к Azure OCR):
let
// Подключение к Azure OCR (замените YOUR_KEY и YOUR_ENDPOINT)
Source = Folder.Files("C:\Images"),
#"Added Custom" = Table.AddColumn(Source, "OCRText", each Text.FromBinary(Binary.Buffer(File.Contents([Folder Path] & "\" & [Name])))),
#"Invoked Custom Function" = Table.TransformColumns(#"Added Custom", {{"OCRText", each AzureOCR.Contents([OCRText], "YOUR_ENDPOINT", "YOUR_KEY")}})
in
#"Invoked Custom Function"
Этот метод подходит для:
- 📊 Регулярной обработки больших объёмов изображений.
- 🔄 Автоматизации (можно создать шаблон для повторного использования).
- 🛠 Глубокой очистки данных (удаление артефактов, исправление ошибок OCR).
Что такое Azure Cognitive Services?
Azure Cognitive Services — это облачная платформа от Microsoft для искусственного интеллекта, включающая OCR-сервис Computer Vision. Она распознаёт текст с точностью до 98% (включая рукописный), поддерживает 100+ языков и умеет сохранять структуру таблиц. Для использования требуется аккаунт Azure (первые 5 000 транзакций в месяц бесплатны).
4. Обработка результатов: как исправить ошибки OCR в Excel
Даже самый совершенный OCR допускает ошибки. После распознавания текст потребуется очистить. Вот типичные проблемы и способы их решения:
| Проблема | Причина | Решение в Excel |
|---|---|---|
| Символы "1" и "l" (единица и буква "эл") | Сходное начертание в шрифтах | Используйте НАЙТИ/ЗАМЕНИТЬ с проверкой контекста (например, заменить "l000" на "1000") |
| Лишние пробелы между словами | Артефакты сканирования | Функция =ПЕЧСИМВ(ПОДСТАВИТЬ(A1;" ";"")) для удаления всех пробелов |
| Неправильные регистры ("нАзВание") | Ошибки сегментации символов | Функции =ПРОПИСН(), =СТРОЧН() или =ПРОПНАЧ() |
| Склеенные слова ("приветмир") | Низкое разрешение изображения | Ручная правка или формула с =ПОИСК() для вставки пробелов |
Для ускорения очистки используйте макросы. Например, этот код автоматически исправляет самые частые ошибки OCR:
Sub CleanOCR()
Dim rng As Range
For Each rng In Selection
rng.Value = Replace(rng.Value, " l ", " 1 ")
rng.Value = Replace(rng.Value, "O", "0")
rng.Value = Replace(rng.Value, " ,", ",")
rng.Value = WorksheetFunction.Clean(rng.Value)
Next rng
End Sub
⚠️ Внимание: Перед запуском макроса сохраните исходные данные на отдельном листе. Некоторые замены могут быть неоднозначными (например, "O" → "0" испортит слова вроде "ОК").
5. Распознавание таблиц: как сохранить структуру данных
Главная сложность при работе с изображениями таблиц — сохранение разметки ячеек. Стандартный OCR в Excel часто "сваливает" всё в один столбец или неправильно определяет границы. Чтобы этого избежать:
Способ 1: Предварительная разметка в графическом редакторе
- 🖌 Откройте изображение в Photoshop или бесплатном GIMP.
- 🔍 Увеличьте контрастность линий таблицы (инструмент
УровниилиКривые). - 🟦 Закрасьте фон ячеек в однотонный цвет (например, светло-серый), а текст оставьте чёрным.
- 💾 Сохраните в формате
.pngс максимальным качеством.
Способ 2: Использование специализированных OCR для таблиц
Сервисы вроде TableCapture или Tabula (бесплатный) умеют распознавать табличные структуры лучше, чем универсальные OCR. Они экспортируют данные в .csv, который затем можно импортировать в Excel.
Способ 3: Ручная постобработка в Excel
Если таблица распозналась как сплошной текст:
- Вставьте результат в Excel.
- Используйте
Текст по столбцам(Данные → Текст по столбцам) с разделителемЗнак табуляцииилиПробел. - При необходимости объедините "разорванные" ячейки с помощью функции
=ОБЪЕДИНИТЬ().
6. Мобильные решения: как распознать текст с фото на телефоне
Если вам нужно срочно перенести данные с бумажного документа в Excel, а под рукой только смартфон, воспользуйтесь мобильными приложениями с OCR:
- 📱 Microsoft Lens (бесплатно, iOS/Android) — сканирует документы и экспортирует текст в Excel через OneDrive.
- 📱 Adobe Scan — распознаёт таблицы и сохраняет в
.xlsx(требует подписку для экспорта). - 📱 Text Fairy (Android) — бесплатный OCR с поддержкой 50+ языков, но без прямого экспорта в Excel (нужно копировать текст вручную).
- 📱 Office Lens (входит в пакет Microsoft 365) — оптимизирован для работы с Excel, сохраняет структуру таблиц.
Инструкция для Microsoft Lens:
- Сфотографируйте документ (держите телефон параллельно листу).
- Нажмите
Готовои выберите режимДокумент. - В меню экспорта выберите
Excel(файл сохранится в OneDrive). - Откройте файл в Excel на компьютере для окончательной правки.
⚠️ Внимание: При съёмке на телефон избегайте теней и бликов — они снижают точность распознавания на 30–40%. Используйте дополнительное освещение или фотографируйте при дневном свете.
7. Продвинутые техники: OCR через Python и Excel
Для пользователей, знакомых с программированием, самый мощный инструмент — библиотека pytesseract для Python. Она позволяет настраивать распознавание под конкретные шрифты, языки и форматы таблиц.
Пример скрипта для распознавания изображения и экспорта в Excel:
import pytesseract
import cv2
import pandas as pd
from PIL import Image
Загрузка изображения
image = cv2.imread('table.png')
Препроцессинг (увеличение контрастности)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
Распознавание текста
custom_config = r'--oem 3 --psm 6'
text = pytesseract.image_to_string(thresh, config=custom_config, lang='rus+eng')
Сохранение в Excel
df = pd.DataFrame([text.split('\n')])
df.to_excel('output.xlsx', index=False)
Преимущества этого подхода:
- 🎛 Тонкая настройка параметров распознавания (например, для мелкого текста или нестандартных шрифтов).
- 📊 Автоматическая обработка сотен изображений за одну команду.
- 🔧 Интеграция с Excel через библиотеки
pandasилиopenpyxl.
Для запуска скрипта потребуется установить:
- 🐍 Python 3.8+ (среда Anaconda упростит настройку).
- 📦 Библиотеки:
pip install pytesseract opencv-python pandas pillow. - 🖥 Движок Tesseract OCR (скачать с официального сайта).
Как улучшить точность pytesseract?
1. Увеличьте разрешение изображения в 2 раза (используйте cv2.resize()).
2. Примените фильтр размытия (cv2.GaussianBlur()) для удаления шумов.
3. Обучите Tesseract на вашем шрифте (требует датасет изображений с разметкой).
4. Используйте параметр --psm 6 для таблиц или --psm 11 для сплошного текста.
FAQ: Частые вопросы по распознаванию текста в Excel
Можно ли распознать рукописный текст в Excel?
Стандартные инструменты Excel и OneNote рукописный текст не распознают. Для этого подойдут:
- 🖋 Microsoft OneNote (частичная поддержка, если почерк разборчивый).
- 🤖 Google Keep или Evernote (используют OCR от Google).
- 💻 Специализированные сервисы вроде MyScript (платно, точность ~70%).
После распознавания текст можно скопировать в Excel.
Почему Excel неправильно распознаёт цифры (например, "8" как "B")?
Это типичная ошибка OCR, вызванная:
- 🔢 Сходством символов в шрифтах (например, "8" и "B" в Arial выглядят почти одинаково).
- 📉 Низким разрешением изображения (менее 200 dpi).
- 🎨 Цветовым шумом (например, серый текст на белом фоне).
Решение: увеличьте контрастность изображения перед распознаванием или проверьте результаты вручную.
Как распознать текст на скриншоте с веб-страницы?
Для скриншотов веб-страниц лучше использовать:
- 🌐 Расширения браузера (например, Copyfish для Chrome).
- 🖥 Встроенный OCR в Windows 11 (сочетание клавиш
Win + Shift + S→ "Текст"). - 📱 Мобильные приложения (Microsoft Lens или Google Lens).
Excel в этом случае удобен для дальнейшей обработки данных, но не для самого распознавания.
Можно ли автоматизировать распознавание для сотен изображений?
Да, для этого подойдут:
- 🤖 Power Query + Azure OCR (как описано в разделе 3).
- 🐍 Python-скрипты с
pytesseractиopenpyxl. - 📂 Пакетная обработка в Adobe Acrobat Pro (платно, но поддерживает экспорт в Excel).
Для настройки автоматизации может потребоваться помощь программиста.
Как распознать текст на цветном фоне или с узором?
Цветной фон и узоры снижают точность OCR на 40–60%. Решения:
- 🎨 Удалите фон в графическом редакторе (инструмент
Волшебная палочкав Photoshop). - 🖼 Инвертируйте цвета (чёрный текст на белом фоне распознаётся лучше).
- 🔍 Используйте OCR с поддержкой адаптивной бинаризации (например, ABBYY FineReader).
Если фон нельзя убрать, попробуйте увеличить яркость и контрастность изображения.