Копия, счёт, журнал
Данные из жизни почти никогда не бывают чистыми. Их вводили разные люди, выгружали разные системы, копировали из писем. Прежде чем считать, таблицу чистят — и это обычно самая долгая часть работы с данными.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Дата | Город | Клиент | Сумма, ₽ |
| 2 | 05.02.2026 | Москва | ООО «Ромашка» | 15000 |
| 3 | 2026-02-05 | москва | ООО Ромашка | 15000 |
| 4 | 6 февраля | г. Москва | ИП Соколов | 8 400,50 |
| 5 | 2026-02-07 | Санкт-Петербург | ИП Соколов | |
| 6 | 2026-02-07 | СПб | ООО «Весна» | 12000 |
Нейросеть здесь очень полезна: она быстро замечает разные написания, предлагает правила замены и пишет формулы или код для исправления. Но у чистки есть опасность, которой нет у простого подсчёта: она меняет данные. Неверная формула в отчёте даёт неверное число; неверная чистка тихо портит саму таблицу, и все следующие отчёты будут неверны.
Поэтому первое правило чистки — работать с копией. Исходная выгрузка остаётся нетронутой, а чистка идёт на отдельном листе или в отдельном файле. Если что-то пошло не так, всегда можно вернуться.
Второе — считать строки на каждом шаге. Было 412 строк, после удаления дубликатов стало 398 — значит, удалено 14. Это ожидаемо? Если после приведения городов к одному написанию строк вдруг стало меньше, что-то удалилось, чего не должно было.
Третье — записывать, что сделано. Короткий журнал на отдельном листе: «привёл города к одному написанию по списку замен; удалил 14 полных дубликатов; суммы с запятой перевёл в числа». Через месяц это единственный способ понять, почему в таблице 398 строк, а в выгрузке 412.
Одно написание
Самая частая грязь — разные написания одного и того же. «Москва», «москва », «г. Москва»; «Санкт-Петербург» и «СПб»; «ООО «Ромашка»» и «ООО Ромашка». Для человека это одно, для сводной — разные строки, и итоги по «Москве» окажутся заниженными.
Причины обычно простые: разный регистр букв, лишние пробелы в начале и конце, сокращения, приставки вроде «г.», кавычки разных видов, «е» и «ё». Нейросеть хорошо находит такие группы: дайте ей список уникальных значений столбца и попросите сгруппировать те, что означают одно и то же.
Результат лучше оформить как справочник замен — небольшую таблицу «было → стало»:
- «москва », «г. Москва» → «Москва»;
- «СПб», «Питер» → «Санкт-Петербург»;
- «ООО Ромашка» → «ООО «Ромашка»».
Справочник удобен тремя вещами. Его можно проверить глазами до применения. Его применяют формулой, а не руками по строкам. И его можно использовать снова на следующей выгрузке — те же ошибки обычно повторяются.
Простые случаи — пробелы и регистр — вообще не требуют справочника: их убирают стандартными функциями обрезки пробелов и приведения регистра. Нейросеть подскажет, как они называются в вашей программе.
Дубликаты
Второй вид грязи — дубликаты: одна и та же запись попала в таблицу дважды. Выгрузку запустили два раза, заказ ввели и в магазине, и на сайте, строку скопировали, чтобы поправить, и забыли удалить старую.
Дубликаты бывают полными — строки совпадают во всём, — и частичными — совпадает главное, а мелочи различаются: дата записана по-другому, у клиента нет кавычек. Полные найти просто, любая программа удаляет их одной командой. Частичные коварнее: их видно только после чистки написаний, как во второй и третьей строке таблицы выше.
Главный вопрос — что считать одной записью. Для этого выбирают ключ: набор столбцов, которые вместе однозначно определяют запись. Для заказов это обычно номер заказа. Если номера нет — дата, клиент и сумма вместе. Две строки с одинаковым ключом — кандидаты в дубликаты.
Кандидат ещё не приговор. Два заказа одного клиента на одну сумму в один день бывают по-настоящему: человек купил утром и вечером. Поэтому дубликаты не удаляют вслепую:
- сначала находят и считают, сколько их;
- потом смотрят несколько штук глазами — точно ли это одно и то же;
- и только потом удаляют, записав, сколько строк ушло.
Форматы и пропуски
Третий вид грязи — форматы. Число «8 400,50» с пробелом и запятой программа может прочитать как текст. Дата «6 февраля» без года — текст, «05.02.2026» и «2026-02-05» — один день, записанный по-разному, а «02.05.2026» в американском порядке — уже май. Пока форматы разные, сортировка и группировка по датам работают неверно.
Здесь нейросеть особенно полезна: опишите, в каких видах встречаются даты и числа, и попросите формулу или код, которые приведут всё к одному виду. Проверяйте результат на тех строках, где форматы были разными: именно там ошибаются.
Четвёртый вид — пропуски: пустые ячейки там, где значение должно быть. С ними есть три честных пути:
- оставить пустыми и считать без них — среднее посчитается по тем, где значение есть;
- заполнить, если значение можно узнать точно: из другой таблицы, из документа;
- исключить строку, если без этого значения запись бесполезна для вашего вопроса.
Нечестный путь один — заполнить наугад: нулём, средним, «примерно как у соседей». Иногда в статистике пропуски действительно заполняют расчётными значениями, но это отдельное решение, которое называют в отчёте, а не тихая правка.
Когда все шаги пройдены, делают сверку: число строк и итог по сумме до и после чистки. Разница должна объясняться журналом — удалёнными дубликатами и исключёнными строками, — и ничем больше.