Если попросить ИИ «привести таблицу в порядок», обычно получаешь уверенный ответ о первых нескольких десятках строк, неправильно понятый столбец и итог, который никто не может проверить. Дело не в таблице. ИИ никто не объяснил, что она означает, и ему пришлось читать тысячи строк «на глаз».
Этот урок проходит одну настоящую задачу в папке задачи для ИИ: немецкий поставщик Bergwerk каждый месяц присылает выгрузку товаров на немецком, а магазину она нужна в собственном формате импорта. По пути урок показывает три вещи, которые делают любую работу с Excel и ИИ надёжной: описать таблицу, поручить строки скрипту и проверить результат числами.
Скачать папку с примером, чтобы работать вместе с
уроком: выгрузка Bergwerk в input/, готовый README из шага 2 и промпты с этой страницы в
prompts.md. Распакуйте её (правый щелчок, Извлечь все) и укажите на неё своему ИИ-инструменту.
Что понадобится
- Папка из урока Подготовить папку для работы с ИИ с файлом
поставщика в
input/. - ИИ-инструмент, который предоставляет ваша компания. Промпты ниже работают в чате с загрузкой файлов или с агентом в папке. С помощником внутри Excel вставьте текст README в панель чата и держите таблицу открытой.
- Описание того, как должен выглядеть результат: документация магазина по импорту, пример правильного файла импорта или просто то, что вы знаете.
1. Сделать таблицу читаемой
ИИ читает таблицу так, как это делает программа, а не так, как вы видите её на экране. Прежде всего проверьте источник на то, что сбивает его с толку:
| На экране | Что видит ИИ | Что делать |
|---|---|---|
| Две таблицы рядом на одном листе | Одну широкую таблицу с пустыми столбцами | Указать в README, какой диапазон что означает, или попросить по листу на таблицу |
| Объединённые ячейки и многострочные заголовки | Пустые ячейки и заголовки вида Unnamed: 3 |
Сказать, в какой строке настоящие заголовки |
| Цвет что-то означает («красный = снят с продажи») | Ничего; цвет обычно теряется | Добавить столбец в описание или написать «красные строки сняты с продажи», чтобы скрипт прочитал заливку |
| Строка итогов внизу | Товар под названием «Итого» | Написать «последняя строка — итог, пропустить» |
4.01235E+12 в столбце штрихкода |
Округлённое число: цифры потеряны | Упомянуть; скрипт должен отметить такое значение, а не «исправить» |
Не приводите файл поставщика в порядок вручную, чтобы избавиться от этого. Опишите это, чтобы скрипт и в следующем месяце обрабатывал всё так же.
2. Описать таблицу в README
Этот шаг чаще всего пропускают, а он самый важный. ИИ знает Excel, но не знает вашего бизнеса.
Добавьте в README.md раздел Столбцы: по строке на столбец — что он означает и что в нём
необычного.
## Источники (input/)
- `bergwerk-products.xlsx`, лист `Export`, заголовки в строке 1, одна строка на товар.
`Artikelnr` — уникальный артикул поставщика. Поставщик немецкий, поэтому столбцы и значения
на немецком.
### Столбцы
| Столбец | Значение | Примечания |
|---|---|---|
| Artikelnr | Артикул поставщика | Уникален; становится нашим `sku` |
| EAN | Штрихкод (GTIN-13) | Excel иногда показывает его как 4.01235E+12 |
| Bezeichnung | Название товара, по-немецки | Может быть длиннее 80 символов |
| Farbe | Цвет, по-немецки, свободный текст | «schwarz», «Schwarz», «sw» — всё это чёрный |
| Gewicht | Вес | Вперемешку: «1,2 kg», «850g», «1200» (без единицы) |
| Maße cm (BxHxT) | Ширина x высота x глубина в см | Одно текстовое значение, например «30 x 45 x 15» |
| Hersteller | Бренд | Иногда пусто |
| Kategorie | Категория товара, по-немецки | Не импортируется |
Затем так же опишите целевой формат. Это определение «готово», поэтому будьте точны:
## Целевой формат (output/<дата>/shop-import.xlsx, лист `products`)
| Столбец | Формат | Обязательно |
|---|---|---|
| sku | Текст, из Artikelnr | да |
| gtin | 13 цифр, верная контрольная цифра, хранится как текст | да |
| title | Текст, не длиннее 80 символов | да |
| color | Одно из: Black, Red, Blue, White | нет |
| weight_kg | Число в кг, десятичная точка | да |
| width_cm, height_cm, depth_cm | Числа | нет |
| brand | Текст, из Hersteller | да |
Писать это в одиночку не обязательно. Попросите ИИ: «Посмотри input/bergwerk-products.xlsx и составь черновик таблицы столбцов для README.md. Отметь вопросительным знаком всё, в чём есть сомнения.» Затем исправьте черновик. Поправить черновик гораздо быстрее, чем начинать с нуля, а вопросительные знаки показывают, где именно ИИ стал бы угадывать.
3. Сначала посмотреть, потом менять
Первый настоящий промпт просит ИИ составить профиль таблицы, а не менять её:
Прочитай README.md. Напиши скрипт на Python tools/profile.py, который читает каждую строку input/bergwerk-products.xlsx и для каждого столбца сообщает: сколько ячеек заполнено, сколько разных значений, десять самых частых значений и всё, что не совпадает с описанием в README.md. Запусти его и покажи отчёт. Ничего не меняй.
Почему скрипт, а не «посмотри на таблицу»: ИИ может прочитать за раз ограниченный объём текста. В большой таблице он молча смотрит на первые строки и предполагает, что остальные такие же. Профиль охватывает каждую строку, какой бы большой ни была таблица, и возвращается одним коротким отчётом. Для столбца веса из примера:
Gewicht filled 24 / 24 distinct 23
top: "1,2 kg" (2) "850g" (1) "0.4 kg" (1) "450" (1) "ca. 2kg" (1)
note: decimal commas and points; units with and without a space; 2 values without a unit
Для таблицы в сорок тысяч строк отчёт будет той же длины. Сверьте его со своей таблицей столбцов. Каждая неожиданность — это либо ошибка в вашем описании (исправьте README), либо решение, которое нужно принять (запишите его в «Решения»):
## Решения
- 2026-10-29: вес без единицы — это граммы; любой вес с единицей меньше 2 кг.
- 2026-10-29: значения с «ca.» — оценки; оставить для поставщика, не пересчитывать.
4. Согласовать план
Напиши план таблицей: каждый целевой столбец, исходный столбец, из которого он берётся, и правило преобразования. Перечисли значения, которые не удалось сопоставить. Дождись моего OK.
План читается за минуту, и именно здесь ловятся настоящие ошибки: цвет, сопоставленный не тому значению, два перепутанных столбца, единица, понятая наоборот. Исправьте план простыми словами. Когда всё верно, скажите OK.
5. Пусть работу сделает скрипт
Напиши tools/transform.py по плану. Он читает input/bergwerk-products.xlsx и записывает output/2026-10-29/shop-import.xlsx с тремя листами:
products(импорт),issues(каждое значение, которое не удалось преобразовать, с номером строки источника и причиной) иchanges(каждая изменённая ячейка, до и после). Сохраняй каждую ячейку как текст, чтобы штрихкоды не теряли ведущие нули. Никогда не угадывай: значение, которое не подходит под правила, остаётся без изменений и попадает в issues. Запусти и назови мне количества.
Три детали в этом промпте делают большую часть работы:
- «Никогда не угадывай». Без этой фразы ИИ заполняет пробелы правдоподобными значениями. С ней пробелы попадают в список, который можно разобрать.
- Лист
issuesс номерами строк источника. Проблему, которую можно найти в исходном файле, можно и обсудить с поставщиком. - Лист
changes. Каждое изменение видно: можно отфильтровать один столбец и сразу понять, сработало ли сопоставление цветов так, как задумано.
Если ваш инструмент вместо этого запускает Python в Excel, попросите то же самое в виде ячеек
=PY() на новом листе: формулы остаются в книге и пересчитываются, когда меняются данные.
6. Проверить результат числами
«Выглядит хорошо» — это не проверка. Попросите у ИИ числа, которые можно проверить, и несколько проверьте сами:
| Проверка | Спросить или сделать | Что она ловит |
|---|---|---|
| Число строк | «Сколько строк товаров в источнике, в products, в issues?» | Потерянные или задвоенные строки |
| Суммы | «Сумма веса в кг до и после» (три строки источника пересчитать вручную) | Неверный коэффициент пересчёта |
| Список значений | Отфильтровать color в результате: только разрешённые значения и пустые? |
Несопоставленные написания |
| Выборочная проверка | Взять пять случайных строк источника и найти их в результате | Сдвинутые или перепутанные столбцы |
| Issues | Прочитать лист issues: каждую ли запись действительно нельзя исправить? |
Слишком строгие правила |
| Допущения | «Какие допущения были сделаны, но не записаны в README.md?» | Молчаливые догадки |
Всё, что выявит последний вопрос, попадает в «Решения» или становится правилом.
Анализ вместо преобразования
Та же папка отвечает и на вопросы о таблице. Схема та же: описать, посчитать скриптом, проверить. Меняется промпт. Скажите, какие столбцы, как считать и в каком виде нужен ответ:
| Расплывчато | Точно |
|---|---|
| «Проанализируй продажи.» | «Сумма Выручка по Регион и месяцу, с листа 2026, сводной таблицей на новом листе.» |
| «Есть проблемы в данных?» | «Перечисли строки, где Вес пуст или GTIN не проходит проверку контрольной цифры, с номерами строк.» |
| «Какие поставщики лучшие?» | «Упорядочь поставщиков по доле поставок в срок (Поставлено не позже Обещано), не меньше 20 заказов у каждого.» |
| «Сделай диаграмму.» | «Линейная диаграмма месячной выручки по регионам, по линии на регион, сохранённая листом в результате.» |
И просите ответ в книге Excel — формулами, сводной таблицей или скриптом, а не только фразой в чате. Число в чате проверить нельзя, формулу — можно.
В следующем месяце
Когда придёт новая выгрузка, положите её в input/ (файл прошлого месяца сохраните под именем с
датой или перенесите в папку его результата), затем:
Новая выгрузка в input/. Запусти tools/profile.py и скажи, что изменилось по сравнению с прошлым разом. Если ничего нового, запусти tools/transform.py в output/2026-11-28/.
Новый столбец или новое написание цвета видно в профиле, ИИ меняет одну строку скрипта, а вы добавляете одну строку в «Решения». Следующий месяц — уже одно сообщение.
Когда проще вручную
Разовое исправление нескольких сотен строк, которые больше никто не пришлёт, быстрее сделать прямо в Excel. Папка окупается, когда такой же файл приходит снова, когда таблица слишком велика, чтобы проверить её глазами, или когда кому-то потом нужно будет понять, что было сделано.