Дубли продаж в Excel: как отличить повторную выгрузку от новой операции
Две строки продаж совпадают по дате, товару и сумме. Это может быть повтор одной выгрузки, а может — два покупателя, купивших одинаковый товар. Удаление дублей по видимым столбцам исправит первый случай и испортит второй. Начните с определения операции и её устойчивого ключа.
Найдите идентификатор события
Проверьте, есть ли в источнике ID продажи или сочетание ID документа и номера строки. Одна накладная может содержать несколько товаров, поэтому номера документа недостаточно. Дата, SKU и сумма обычно описывают признаки операции, но не гарантируют её уникальность.
Если ID отсутствует, договоритесь с владельцем системы о ключе или получите более подробную выгрузку. Для временного правила перечислите ограничения: какие операции оно может ошибочно объединить. Нельзя назвать найденные одинаковые строки дублями до выяснения их происхождения.
Разделите точный повтор и конфликт версий
Для одного operation_id могут повторно прийти совершенно одинаковые значения — например, при повторной загрузке файла. Другой случай: тот же ID пришёл с исправленной суммой. Тогда нужно правило выбора версии, а не простое удаление строк. Сохраните updated_at или номер версии из системы-источника.
В Power Query сначала сгруппируйте данные по бизнес-ключу и посмотрите число строк и варианты значимых полей. Table.Distinct удаляет повторы по выбранным столбцам, но при различных остальных значениях нельзя полагаться на произвольный выбор сохраняемой строки.
// Только для повторов, одинаковых по всем значимым полям:
Table.Distinct(Source, {"Branch", "OperationID", "SKU", "Amount"})
Проверьте правило на двух похожих случаях
В примере есть две самостоятельные продажи с разными ID и один повтор первой продажи. Удаление по ID и всем значимым полям оставит две операции на общую сумму 200. Если удалить по SKU и сумме, останется одна продажа и выручка уменьшится вдвое.
Для конфликтных значений одного ID сделайте отдельный запрос исключений. Когда источник предоставляет версии, выберите последнюю по явному правилу и сохраните возможность открыть историю. Не складывайте версии одной операции как независимые продажи.
Сверьте результат с источником
После очистки сравните число уникальных операций и сумму с контрольной выгрузкой. Посмотрите удалённые строки: откуда они пришли, повторяют ли один и тот же файл, нет ли совпадений между разными подразделениями. Иногда ID уникален только внутри филиала, и ключ должен включать филиал.
Для регулярной загрузки сохраняйте имя исходного файла. Оно помогает обнаружить повторную поставку одного периода, но само не заменяет бизнес-ключ: один файл может содержать операции за несколько дат, а разные файлы — пересекающиеся периоды.
В следующем месяце проверьте и повторную загрузку того же файла, и поступление корректировки. Хороший процесс повторяет приёмку, сохраняет отдельные реальные продажи и применяет исправления по понятной версии. Итоговый отчёт должен объяснять, почему изменились выручка и число операций.
Запишите правило дедупликации рядом с описанием данных. Коллеге потребуется знать, почему две визуально одинаковые строки остались в отчёте и в каких случаях один ID считается конфликтом. Это полезнее автоматической команды очистки без сохранённого основания.
Соберите обновляемый отчёт на практике
В программе есть урок «Повторная строка или отдельная продажа» и работа с объединением нескольких выгрузок. В платном курсе вы отработаете подготовку данных и проверку контрольных итогов при обновлении отчёта. Это помогает выбирать ключ по смыслу операции и видеть последствия очистки для выручки.
Откройте программу курса «Продвинутый Excel: Power Query, Power Pivot и автоматизация отчётов».
Начните с пробного урока о рабочей книге и первом запросе Power Query.
Для следующего этапа: объединение файлов из папки и обновление отчёта.
Продолжить на практике
- Продвинутый Excel: Power Query, Power Pivot и автоматизация отчётов ↗
Научитесь собирать и обновлять рабочие отчёты в Excel. Power Query для загрузки и очистки данных, сложные формулы, Power Pivot и DAX для расчётов. Практикумы по продажам, остаткам и закупкам, план-факту подразделений.
