Как сверить акт сверки в Excel: подробный разбор с формулами и примерами

При сверке акта взаимозачёта в Microsoft Excel или Google Таблицах основная ошибка — ручное сравнение строк, которое занимает часы и чревато пропущенными расхождениями. Если у вас два файла с данными от контрагента и вашей бухгалтерии (например, Акт_контрагент.xlsx и Выписка_1С.xlsx), первым делом проверьте совпадение итоговых сумм в колонках "Дебет" и "Кредит". Расхождение даже на 1 рубль означает, что где-то в таблицах скрыта ошибка — дублирующая строка, опечатка в номере счета или неучтенная проводка. Далее разберём, как автоматизировать поиск таких несоответствий с помощью функций VLOOKUP/XLOOKUP, условного форматирования и сводных таблиц, а также рассмотрим типичные "подводные камни" при работе с большими массивами данных (10 000+ строк).

Ключевой момент: перед сверкой приведите оба файла к единому формату. Например, если в одном акте даты записаны как 01.12.2023, а в другом — 1 дек 2023, Excel воспримет их как разные значения. Используйте функцию =ДАТАЗНАЧ() или инструмент Текст по столбцам (Data → Text to Columns), чтобы унифицировать данные. Также удалите лишние пробелы функцией =СЖПРОБЕЛЫ() — они часто становятся причиной ложных расхождений.

1. Подготовка данных: как привести акты к единому виду

Начнём с предобработки файлов. Откройте оба акта сверки в Excel и создайте копии листов (правая кнопка по вкладке → Переименовать/Создать копию). Это защитит оригинальные данные от случайных изменений. Далее выполните следующие шаги:

  • 📌 Удалите объединённые ячейки: они мешают работе формул. Выделите таблицу и нажмите Главная → Объединить и поместить в центре (если кнопка активна — разъедините ячейки).
  • 🔍 Проверьте формат столбцов: колонки с датами, суммами и номерами документов должны иметь одинаковый тип данных. Например, суммы — Числовой или Финансовый, а не Текстовый.
  • 🗑️ Удалите пустые строки/столбцы: они искажают результаты сводных таблиц. Используйте фильтр (Данные → Фильтр) и отсортируйте данные по столбцу с пустыми значениями.
  • 🔄 Сортировка по ключевому полю: отсортируйте оба акта по колонке с уникальным идентификатором (например, номер счета или дата операции). Это упростит визуальный контроль.

Особое внимание уделите столбцам с номерами документов и суммами. Если в одном акте номер счета записан как СЧ-123/23, а в другом — Счет №123 от 2023, используйте функцию =ПОИСК() или регулярные выражения (в Power Query) для извлечения общих частей. Например:

=ЕСЛИОШИБКА(ПОИСК("СЧ-";A2);ЕСЛИОШИБКА(ПОИСК("№";A2);A2;ПРАВСИМВ(A2;5)))
⚠️ Внимание: Если в актах используются разные валюты, приведите все суммы к одной (например, рубли) с помощью курса ЦБ на дату операции. Для этого добавьте вспомогательный столбец с формулой пересчёта: =B2*Курс_валют, где Курс_валют — именованный диапазон с актуальными коэффициентами.

2. Поиск расхождений с помощью VLOOKUP и XLOOKUP

Самый надёжный способ найти несовпадения — использовать функции поиска. Предположим, у вас два листа: Акт_контрагента и Акт_1С, а ключевое поле для сопоставления — столбец A (номер документа). Вставьте в первый лист вспомогательный столбец с формулой:

ФормулаОписаниеПример результата
=ЕСЛИОШИБКА(VLOOKUP(A2;Акт_1С!A:D;2;0);"Не найдено")Ищет сумму из листа Акт_1С по номеру документа15 000,00 или Не найдено
=XLOOKUP(A2;Акт_1С!A:A;Акт_1С!B:B;"Не совпадает";0;1)Аналог VLOOKUP, но ищет точные совпадения (последний аргумент 1)15 000,00
=ЕСЛИ(ABS(B2-VLOOKUP(A2;Акт_1С!A:D;2;0))>0;"Расхождение";"OK")Сравнивает суммы с допуском 0 руб.Расхождение или OK

Для удобства добавьте условное форматирование к столбцу с результатами: выделите диапазон → Главная → Условное форматирование → Правила выделения ячеек → Текст содержит → "Не найдено" и установите красный цвет текста. Так вы сразу увидите отсутствующие документы.

1. Проверьте, что ключевые столбцы отсортированы одинаково (по возрастанию или убыванию)

2. Убедитесь, что в диапазоне поиска нет пустых строк

3. Используйте абсолютные ссылки (например, $A$2:$D$1000) для фиксированного диапазона

4. Для больших таблиц (>10 000 строк) замените VLOOKUP на ИНДЕКС/ПОИСКПОЗ или XLOOKUP-->

Если в актах разное количество строк, добавьте в конец каждого листа контрольную сумму:

=СУММЕСЛИ(Диапазон_сумм;">0")

Сравните итоги: если они совпадают, но отдельные строки расходятся, значит, где-то есть дубликаты или ошибки округления (например, 1 000,00 vs 999,99).

3. Автоматическая сверка с помощью Power Query

Для сложных актов (свыше 5 000 строк) ручные формулы неэффективны. В этом случае используйте Power Query (Данные → Получить данные → Из таблицы/диапазона). Алгоритм действий:

  1. Импортируйте оба акта в Power Query как отдельные запросы (Акт1 и Акт2).
  2. В каждом запросе удалите лишние столбцы, оставив только ключевые поля: номер документа, дату, дебет, кредит.
  3. Добавьте пользовательский столбец с уникальным идентификатором для объединения. Например, склейте номер и дату:
    = [Номер документа] & "|" & Text.From([Дата])
  4. Объедините запросы по этому столбцу (Главная → Объединить запросы → Полное внешнее).
  5. Добавьте столбец для сравнения сумм:
    = if [Дебет_Акт1] = [Дебет_Акт2] then "OK" else "Расхождение"
  6. Загрузите результат на новый лист Excel.

Преимущество Power Query — обработка миллионов строк без тормозов. Кроме того, вы можете сохранить шаги запроса и обновлять данные одним кликом (Данные → Обновить все).

Как ускорить работу Power Query с большими файлами

1. Перед импортом преобразуйте данные в Таблицу Excel (Ctrl+T).

2. В настройках запроса отключите Загрузку в модель данных, если она не нужна.

3. Используйте Группировку для агрегации данных до объединения (например, сгруппируйте по номеру документа и просуммируйте дебет/кредит).

4. Для текстовых столбцов укажите тип Текст, а не Любой

4. Визуальная сверка с условным форматированием

Если акты небольшие (до 1 000 строк), можно выделить расхождения цветом. Выделите диапазон с суммами в обоих файлах и примените правило:

  1. Главная → Условное форматирование → Создать правило → Использовать формулу.
  2. Введите формулу для поиска дубликатов:
    =СЧЁТЕСЛИ($B$2:$B$1000;B2)>1

    и установите жёлтый фон.

  3. Добавьте второе правило для расхождений:
    =И(B2<>"";B2<>VLOOKUP(A2;Акт_1С!A:B;2;0))

    с красным цветом текста.

Для наглядности создайте сводную таблицу с группировкой по статусу ("OK"/"Расхождение"). Добавьте в неё срез (Вставка → Срез) по колонке с типами ошибок, чтобы быстро фильтровать проблемные строки.

Формулы VLOOKUP/XLOOKUP|Условное форматирование|Power Query|Ручная проверка-->

5. Типичные ошибки и как их избежать

Даже при автоматизированной сверке возможны ложные срабатывания. Рассмотрим самые распространённые случаи:

  • 🔢 Округление сумм: Если в одном акте сумма 1 234,567 руб., а в другом — 1 234,57 руб., Excel воспримет это как расхождение. Решение: округлите значения до копеек с помощью =ОКРУГЛ(B2;2).
  • 📅 Разные форматы дат: 01.12.2023 и 1/12/2023 — это разные значения. Используйте =ДАТАГОД(A2)=2023 для проверки года.
  • 📝 Скрытые символы: В номерах документов могут быть невидимые пробелы или переносы строк. Очистите данные функцией =ПЕЧСИМВ(SUBSTITUTE(A2;CHAR(10);"")).
  • 🔄 Дублирующиеся строки: Если документ повторяется в одном акте, сводная таблица покажет удвоенную сумму. Удалите дубликаты: Данные → Удалить дубликаты.
⚠️ Внимание: Если после всех проверок расхождения остаются, экспортируйте оба акта в CSV и откройте в текстовом редакторе (например, Notepad++). Иногда проблемы кроются в кодировке файла (например, UTF-8 с BOM vs ANSI).

6. Сверка актов с несколькими ключевыми полями

Если для сопоставления строк недостаточно одного столбца (например, номер документа + дата + сумма), используйте комбинированный ключ. Создайте вспомогательный столбец в обоих актах:

= [Номер документа] & "|" & ТЕКСТ([Дата];"ДД.ММ.ГГГГ") & "|" & ТЕКСТ([Сумма];"0.00")

Затем выполните поиск по этому столбцу:

=XLOOKUP([@Комбинированный_ключ];Таблица2[Комбинированный_ключ];Таблица2[Сумма];"Не найдено";0;1)

Для удобства добавьте в сводную таблицу поле с типом расхождения:

  • 🔴 Нет в акте 1С — документ есть у контрагента, но отсутствует в вашей выписке.
  • 🟢 Нет у контрагента — документ есть в 1С, но его нет в акте сверки.
  • 🟡 Суммы не совпадают — документы найдены, но дебет/кредит расходятся.

1. Загрузите оба акта в модель данных (Данные → Добавить в модель).

2. Создайте связь между таблицами по общему ключу.

3. Постройте меру (DAX) для сравнения сумм:

Расхождение := IF([Дебет_Акт1]=[Дебет_Акт2];"OK";"Ошибка")-->

7. Экспорт результатов и отчёт о расхождениях

После сверки сгенерируйте отчёт для бухгалтерии или контрагента. Включите в него:

  1. Список документов, отсутствующих в одном из актов (с указанием сумм).
  2. Перечень строк с несовпадающими суммами (оригинальное значение vs значение из другого акта).
  3. Итоговую таблицу с количеством расхождений по типам (см. пример ниже).
Тип расхожденияКоличествоСумма, руб.% от итога
Отсутствует в акте 1С545 000,003,2%
Отсутствует у контрагента212 500,000,9%
Разные суммы8120 300,008,5%
Округление151 234,560,09%
Итого расхождений30179 034,5612,69%

Для автоматизации отчёта создайте шаблон с формулами и макросами. Например, кнопка "Экспортировать расхождения" может запускать такой VBA-код:

Sub ExportMismatches()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Результаты")

ws.Range("A1:D1000").AutoFilter Field:=4, Criteria1:="<>OK"

ws.UsedRange.Copy

Workbooks.Add

ActiveSheet.Paste

ActiveWorkbook.SaveAs "Расхождения_" & Format(Date, "DD-MM-YYYY") & ".xlsx"

End Sub

8. Альтернативные инструменты для сверки

Если Excel тормозит или акты слишком большие (100 000+ строк), рассмотрите специализированные программы:

  • 📊 1C:Консолидация — модуль для автоматизированной сверки актов с интеграцией в 1С.
  • 🔗 FineReport — инструмент для создания отчётов с поддержкой сложных правил сопоставления.
  • 📈 Python (Pandas) — для IT-специалистов. Пример кода:
    import pandas as pd
    

    df1 = pd.read_excel("Акт1.xlsx")

    df2 = pd.read_excel("Акт2.xlsx")

    merged = pd.merge(df1, df2, on="Номер документа", how="outer", indicator=True)

    mismatches = merged[merged['_merge'] != 'both']

  • ☁️ Google Apps Script — для совместной работы в Google Таблицах. Скрипт может отправлять уведомления о расхождениях на email.

Для бухгалтеров, не знакомых с программированием, оптимальный вариант — надстройка для Excel (например, Ablebits или Kutools). Они добавляют функции для сравнения таблиц в один клик.

⚠️ Внимание: При использовании сторонних инструментов проверьте, поддерживают ли они криптографическую подпись актов. Если контрагент требует ЭЦП, экспортируйте результаты обратно в Excel и подписывайте файл через КриптоПро или Контур.Крипто.

FAQ: Ответы на частые вопросы

Как сверить акты, если в одном файле данные по строкам, а в другом — сводные итоги по счетам?

Используйте промежуточные итоги или сводную таблицу для агрегации детализированного акта до уровня сводного. Например:

  1. В детализированном акте добавьте столбец с группировкой по счёту (=ЛЕВСИМВ(A2;5) для извлечения первых 5 символов номера счета).
  2. Постройте сводную таблицу с группировкой по этому столбцу и суммированием дебет/кредит.
  3. Сравните полученные итоги с сводным актом через VLOOKUP.
Можно ли сверить акты, если номера документов не совпадают, но есть другие общие поля (дата, сумма, контрагент)?

Да, но потребуется нечёткий поиск. Варианты:

  • В Power Query используйте Table.FuzzyMatch (надстройка Fuzzy Lookup).
  • В Excel добавьте вспомогательные столбцы с частичными совпадениями:
    =ЕСЛИ(И(Дата1=Дата2;АБС(Сумма1-Сумма2)<10);"Возможно совпадает";"")
  • Для текстовых полей (например, наименование контрагента) примените =ПОХОЖЕ()Google Таблицах) или =LEVENSHTEIN() (надстройка для Excel).

Точность такого поиска ниже, поэтому результаты нужно проверять вручную.

Как автоматизировать сверку, если акты приходят ежемесячно в одном формате?

Создайте шаблон Excel с макросами:

  1. Запишите макрос для импорта данных из папки (инструмент Power Query).
  2. Добавьте кнопку для запуска сверки (назначьте макрос через Разработчик → Вставить → Кнопка).
  3. Настройте автоматическое формирование отчёта и отправку на email (через Outlook.ObjectModel в VBA).

Пример кода для ежемесячного обновления:

Sub MonthlyReconciliation()

Dim folderPath As String

folderPath = "C:\Акты\"

Dim fileName As String

fileName = Dir(folderPath & "*.xlsx")

Do While fileName <> ""

Workbooks.Open folderPath & fileName

' Здесь код для сверки

fileName = Dir()

Loop

End Sub

Что делать, если в акте сверки есть строки с нулевыми суммами? Нужно ли их учитывать?

Нулевые суммы обычно не влияют на итоговый баланс, но их стоит проверить:

  • Если строка с нулевой суммой есть только в одном акте, это может быть ошибкой (например, неучтённая проводка).
  • Если нули есть в обоих актах, их можно исключить из сверки с помощью фильтра (Данные → Фильтр → Числовые фильтры → Не равно 0).
  • В отчёте укажите количество нулевых строк отдельно (например: "Нулевых проводок: 12 шт.").
Как защитить акт сверки от изменений после подписания?

Используйте комбинацию методов:

  1. Защитите лист паролем: Рецензирование → Защитить лист (установите права только на просмотр).
  2. Добавьте цифровую подпись через Файл → Сведения → Защита книги → Добавить цифровую подпись.
  3. Экспортируйте акт в PDF с ограничением на редактирование (Файл → Экспорт → PDF/XPS → Параметры → Защита).
  4. Для юридической значимости подпишите акт квалифицированной ЭЦП через Контур.Диадок или СБИС.