Промпт: формула Excel для бухгалтерской задачи
Формулы для сверки, разноски, ВПР/ПРОСМОТРХ, сумм по условиям и дат. Готовый промт на русском с ответами нейросетей: посмотрите, что выдают GigaChat, ChatGPT, Claude и Gemini, и откройте текст промпта, чтобы запускать его со своими данными.
Текст промпта
Ответы нейросетей ниже получены этим промптом на примере из таблицы. Чтобы скопировать промпт и запускать его со своими данными, откройте доступ ко всем промптам или полный доступ к AI University.
Что подставить в промт
| Поле | Пример |
|---|---|
| {task} | сверить два списка счетов: выгрузку из 1С и выписку контрагента, найти счета, которые есть только в одном списке, и разницу в суммах |
| {structure} | лист «1С»: A номер, B дата, C сумма; лист «Контрагент»: A номер, B дата, C сумма; номера могут быть с пробелами и ведущими нулями |
| {version} | Excel 2021 |
Ответы нейросетей на этот промпт
Задача: Сверка двух списков счетов — вычленение уникальных записей и расхождений сумм
Цель: Найти счета, уникальные для каждого списка («только в 1С», «только у контрагента»), выявить несоответствия между одинаковыми счетами по сумме и дате.
📌 Пошаговая инструкция решения вручную средствами формул Excel (русская версия)
Шаги подготовки перед началом работы:
- Очистите лишние символы: удалите ведущие нули и возможные лишние пробелы в столбце номеров счетов. Для этого используйте функцию
=ПОДСТАВИТЬ(А1;" ";)и примените её ко всему диапазону номеров обеих таблиц.
Формула будет выглядеть так:
=ПОДСТАВИТЬ(A1;" ";)
Применяйте её последовательно к каждой ячейке, чтобы удалить лишние пробелы. Затем скопируйте очищенные данные обратно в исходный диапазон и замените формулы значениями (Ctrl+Shift+V → выбрать опцию «Значения»).
- Преобразуйте даты и суммы в корректный тип данных. Убедитесь, что столбцы дат содержат именно значения типа Дата, а не текстовые строки. Аналогично проверьте числовой формат в колонке сумм.
Теперь приступим непосредственно к решению задачи.
⚙️ Части задачи:
Часть 1. Поиск уникальных элементов ("счета, которых нет в другом источнике")
Для нахождения уникальных счетов воспользуемся функцией ВПР() совместно с условной функцией ЕСЛИОШИБКА().
- Создадим дополнительный столбец справа от таблицы «1С». Назовём его "Только в 1С". Здесь мы проверяем наличие счёта из первой таблицы во второй таблице контрагентов.
Формула проверки уникальности выглядит следующим образом:
=ЕСЛИОШИБКА(ВПР($A2;'Контрагент'!$A$2:$C$500;1;ЛОЖЬ);"Да";"Нет")
Где:
$A2: текущее значение поля Номер счета в таблице «1С».'Контрагент'!$A$2:$C$500: область поиска номеров счетов на листе Контрагента.- Если счёт найден, функция вернёт строку из области поиска, иначе выдаст ошибку #Н/Д, которую ловит ЕСЛИОШИБКА и возвращает нам "Да" (если счёт уникальный).
Добавьте эту формулу в новый столбец и протяните до конца таблицы.
Сделайте аналогичную процедуру для листа «Контрагент», добавив столбец "Только у контрагента":
=ЕСЛИОШИБКА(ВПР($A2;'1С'!$A$2:$C$500;1;ЛОЖЬ);"Да";"Нет")
Таким образом, после выполнения этой части получится два новых столбца, показывающих уникальные записи для каждого источника.
Часть 2. Проверка различий в суммах для совпадающих счетов
Чтобы проверить расхождения сумм, добавим ещё один вспомогательный столбец рядом с номером счета в таблице «1С»:
=ЕСЛИОШИБКА(ВПР($A2;'Контрагент'!$A$2:$C$500;3;ЛОЖЬ)-B2;"")
Эта формула ищет сумму по номеру счета в другой таблице и сравнивает её с текущей суммой в данной строке. Если сумма отличается, она покажет разницу, иначе результат пустая строка "".
Точно такую же операцию проделаем и для таблицы «Контрагент»:
=ЕСЛИОШИБКА(ВПР($A2;'1С'!$A$2:$C$500;3;ЛОЖЬ)-B2;"")
Эти шаги позволят вам увидеть несоответствие сумм сразу визуально.
✅ Итоговый набор шагов:
- Очистили лишнюю символику и привели к правильному типу данных.
- Добавили столбцы "Только в 1С" и "Только у контрагента" для выявления уникальных записей.
- Добавили столбцы "Разница суммы" для визуализации расхождений.
- Отфильтровали результаты, используя эти новые столбцы.
🛠 Альтернативное решение: Использование свёртывания данных с помощью Power Query
Power Query особенно полезен, когда данных много и нужно регулярно обновлять сопоставление.
Как использовать Power Query для быстрого сравнения больших объёмов данных?
Шаг 1. Загружаем оба набора данных в Power Query:
- Открываем вкладку Данные -> Получить данные -> Из файла -> Из рабочей книги...
- Выбираем сначала файл с данными из 1С, потом повторяем процедуру для файла с данными контрагента.
Шаг 2. Объединяем таблицы:
- Переходим на страницу объединения таблиц:
- На панели правой стороны выбираем нужный источник (например, таблица «1С») и кликаем по кнопке «Объединить запросы...»
- Указываем, какие столбцы объединять (в нашем случае это поле «номер счета»). Нажмите OK.
Шаг 3. Фильтруем полученные данные:
- Теперь в новой объединённой таблице добавляем фильтр по наличию значений в полях (где-то есть совпадения, где-то различия). Это позволит быстро видеть уникальные элементы и выявленные расхождения.
Шаг 4. Расширяем структуру итогового результата и выводим отчёт:
- После фильтрации можете вывести расширенную версию результатов, включая дополнительные столбцы (суммы, даты и пр.) и сохранить итоговую таблицу на отдельный лист Excel.
🔥 Ещё один способ — использование сводных таблиц:
Сводная таблица тоже отлично подходит для такого анализа, особенно если важна группировка и агрегирование данных по определенным признакам.
- Скопируем обе таблицы на отдельные листы.
- Выделим всю область одной таблицы и создадим новую сводную таблицу (Данные -> Сводная таблица).
- Перетащим нужные параметры (например, Номер счета, Сумму) в соответствующие зоны полей сводной таблицы.
- Повторим процесс для второй таблицы.
- Используя функции фильтра и группировки, сравним две созданные сводные таблицы и найдём отличия по номерам счетов и суммам.
✏️ Таким образом, у вас есть три подхода к решению задачи: ручной через формулы, автоматизированный через Power Query и аналитический через сводные таблицы. Выбирайте тот метод, который наиболее удобен конкретно вашей ситуации!
Ниже — рабочий вариант для Excel 2021 в русской локали. Идея: сначала сделать «технические» очищенные поля, а потом сверять уже по ним. Это важно, потому что номера могут быть 00123, 123, 00 123, с неразрывными пробелами и т.п.
1. Подготовка данных на листах «1С» и «Контрагент»
Исходная структура:
| A | B | C |
|---|---|---|
| номер | дата | сумма |
Добавим служебные колонки:
| D | E | F | G |
|---|---|---|---|
| очищенный номер | очищенная сумма | сумма у второго списка | результат сверки |
Лист «1С»
D2 — очищенный номер счета
=ЕСЛИ(A2="";"";ЕСЛИОШИБКА(ТЕКСТ(ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);"");" ";""));"0");ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);"");" ";"")))
Протяните вниз.
Что делает формула:
СЖПРОБЕЛЫ(A2)— убирает лишние пробелы.ПОДСТАВИТЬ(...;СИМВОЛ(160);"")— убирает неразрывные пробелы, которые часто приходят из 1С, PDF, банковских выписок.ПОДСТАВИТЬ(...;" ";"")— убирает обычные пробелы внутри номера.ЗНАЧЕН(...)— пытается превратить номер в число.ТЕКСТ(...;"0")— убирает ведущие нули.- Если номер содержит буквы, например
АБ-00123, формула не преобразует его в число, а просто уберет пробелы.
Примеры:
| Было | Стало |
|---|---|
00123 | 123 |
00 123 | 123 |
00123 | 123 |
АБ-00123 | АБ-00123 |
E2 — очищенная сумма
=ЕСЛИ(C2="";"";ЕСЛИОШИБКА(ЧИСЛЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C2;СИМВОЛ(160);"");" ";"");",";"");"ОШИБКА СУММЫ"))
Протяните вниз.
Что делает:
- Убирает обычные и неразрывные пробелы из суммы.
- Превращает текстовую сумму в число.
- Если сумма некорректная, выводит
ОШИБКА СУММЫ.
Примеры:
| Было | Стало |
|---|---|
1 250,50 | 1250,5 |
1 250,50 | 1250,5 |
1250,50 | 1250,5 |
abc | ОШИБКА СУММЫ |
F2 — сумма по этому счету у контрагента
=ЕСЛИ(D2="";"";СУММЕСЛИ(Контрагент!$D:$D;D2;Контрагент!$E:$E))
Эта формула ищет такой же очищенный номер на листе Контрагент и суммирует суммы.
Важно: СУММЕСЛИ удобнее, чем простой поиск, потому что если один и тот же счет встречается несколько раз, суммы будут сложены.
G2 — результат сверки для строки из 1С
=ЕСЛИ(D2="";"Пустой номер";ЕСЛИ(E2="ОШИБКА СУММЫ";"Ошибка суммы в 1С";ЕСЛИ(СЧЁТЕСЛИ(Контрагент!$D:$D;D2)=0;"Есть только в 1С";ЕСЛИ(ОКРУГЛ(E2-F2;2)<>0;"Разница: "&ТЕКСТ(E2-F2;"# ##0,00");"ОК"))))
Результаты:
| Результат | Значение |
|---|---|
ОК | счет есть в обоих списках, суммы совпадают |
Есть только в 1С | счет не найден у контрагента |
Разница: ... | счет есть в обоих списках, но суммы отличаются |
Пустой номер | не заполнен номер счета |
Ошибка суммы в 1С | сумма не распознана как число |
Лист «Контрагент»
Аналогично добавьте служебные колонки.
D2 — очищенный номер
=ЕСЛИ(A2="";"";ЕСЛИОШИБКА(ТЕКСТ(ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);"");" ";""));"0");ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);"");" ";"")))
E2 — очищенная сумма
=ЕСЛИ(C2="";"";ЕСЛИОШИБКА(ЧИСЛЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C2;СИМВОЛ(160);"");" ";"");",";"");"ОШИБКА СУММЫ"))
F2 — сумма по этому счету в 1С
=ЕСЛИ(D2="";"";СУММЕСЛИ('1С'!$D:$D;D2;'1С'!$E:$E))
G2 — результат сверки для строки контрагента
=ЕСЛИ(D2="";"Пустой номер";ЕСЛИ(E2="ОШИБКА СУММЫ";"Ошибка суммы у контрагента";ЕСЛИ(СЧЁТЕСЛИ('1С'!$D:$D;D2)=0;"Есть только у контрагента";ЕСЛИ(ОКРУГЛ(F2-E2;2)<>0;"Разница: "&ТЕКСТ(F2-E2;"# ##0,00");"ОК"))))
2. Как отобрать только расхождения
На каждом листе включите фильтр:
Данные → Фильтр
И в колонке G отфильтруйте все, кроме ОК.
Получите:
- счета только в 1С;
- счета только у контрагента;
- счета с разницей в суммах;
- строки с ошибками данных.
3. Проверка типовых ошибок
3.1. Пустой номер
Формула уже выдает:
Пустой номер
Если хотите отдельно подсветить такие строки, можно использовать условное форматирование по формуле:
=$D2=""
3.2. Сумма текстом
Если сумма выглядит как число, но Excel считает ее текстом, формула в колонке E преобразует ее через ЧИСЛЗНАЧ.
Если не смогла — появится:
ОШИБКА СУММЫ
3.3. Пробелы в номерах
Обрабатываются:
- обычные пробелы;
- лишние пробелы в начале и конце;
- неразрывные пробелы
СИМВОЛ(160).
Например:
00 123
00123
00123
будут приведены к:
123
3.4. Пробелы в ИНН
Если у вас дополнительно есть ИНН, например в колонке H, для очистки ИНН можно использовать такую формулу:
=ЕСЛИ(H2="";"";ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(H2);СИМВОЛ(160);"");" ";""))
Для ИНН лучше не убирать ведущие нули через ЗНАЧЕН, потому что ИНН — это идентификатор, а не число. Его корректнее хранить как текст.
4. Важный момент про ведущие нули
Формула выше считает, что:
00123 = 123
Для бухгалтерской сверки счетов это часто удобно.
Но если в вашей компании номера:
00123
123
считаются разными счетами, тогда ведущие нули убирать нельзя.
Тогда формула очищенного номера должна быть проще:
=ЕСЛИ(A2="";"";ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);СИМВОЛ(160);"");" ";""))
5. Вариант через сводную таблицу
Если строк много, удобнее сделать один общий список и сводную.
Шаг 1. Подготовьте две таблицы
На листе 1С сделайте колонки:
| Номер | Дата | Сумма | Источник | Очищенный номер | Очищенная сумма |
|---|
В колонке Источник поставьте:
1С
На листе Контрагент аналогично:
Контрагент
Очищенные номер и сумма — по формулам выше.
Шаг 2. Объедините данные в один лист
Создайте лист Сверка и скопируйте туда строки из обоих источников друг под другом.
Должна получиться таблица вида:
| Источник | Очищенный номер | Очищенная сумма |
|---|---|---|
| 1С | 123 | 1000 |
| Контрагент | 123 | 950 |
| 1С | 456 | 500 |
| Контрагент | 789 | 700 |
Шаг 3. Постройте сводную таблицу
Выделите общую таблицу:
Вставка → Сводная таблица
Настройка полей:
Очищенный номер→ в строки.Источник→ в столбцы.Очищенная сумма→ в значения, тип итога:Сумма.
Получится примерно так:
| Очищенный номер | 1С | Контрагент |
|---|---|---|
| 123 | 1000 | 950 |
| 456 | 500 | пусто |
| 789 | пусто | 700 |
Шаг 4. Добавьте разницу
Рядом со сводной таблицей добавьте формулу:
=ЕСЛИОШИБКА(B5;0)-ЕСЛИОШИБКА(C5;0)
Где:
B5— сумма по 1С;C5— сумма по контрагенту.
Результат:
| Разница | Значение |
|---|---|
0 | суммы совпадают |
| положительное число | в 1С больше |
| отрицательное число | у контрагента больше |
| сумма только в одном столбце | счет есть только в одном списке |
После этого можно поставить фильтр на разницу <> 0.
6. Вариант через Power Query
Для большого количества строк Power Query — лучший вариант. Он надежнее формул и быстрее на больших объемах.
Шаг 1. Превратите оба диапазона в таблицы
На листе 1С выделите данные и нажмите:
Ctrl + T
Назовите таблицу, например:
tbl_1C
На листе Контрагент аналогично:
tbl_Контрагент
Шаг 2. Загрузите таблицу 1С в Power Query
Данные → Из таблицы/диапазона
В Power Query:
- Добавьте пользовательский столбец
Источниксо значением"1С". - Очистите номер.
- Преобразуйте сумму в число.
Шаг 3. Очистка номера в Power Query
Добавьте пользовательский столбец, например Очищенный номер.
Пример логики:
try Text.From(Number.From(Text.Remove(Text.Trim([номер]), {" ", Character.FromNumber(160)})))
otherwise Text.Remove(Text.Trim([номер]), {" ", Character.FromNumber(160)})
Что делает:
- убирает обычные и неразрывные пробелы;
- если номер числовой — убирает ведущие нули;
- если номер текстовый — оставляет как текст, но без пробелов.
Шаг 4. Очистка суммы
Для суммы можно сначала заменить пробелы, затем поменять тип на число.
Пример пользовательского столбца:
try Number.FromText(Text.Replace(Text.Replace(Text.From([сумма]), Character.FromNumber(160), ""), " ", ""), "ru-RU")
otherwise null
Если сумма не распознана, будет null.
Шаг 5. Повторите для таблицы контрагента
То же самое сделайте для tbl_Контрагент, только источник укажите:
Контрагент
Шаг 6. Объедините запросы
В Power Query:
Главная → Добавить запросы → Добавить запросы как новые
Выберите обе таблицы:
tbl_1Ctbl_Контрагент
Получите общий список.
Шаг 7. Сгруппируйте данные
Выберите:
Главная → Группировать по
Группировка:
- по
Очищенный номер; - по
Источник; - операция: сумма по
Очищенная сумма.
Получится:
| Очищенный номер | Источник | Сумма |
|---|---|---|
| 123 | 1С | 1000 |
| 123 | Контрагент | 950 |
| 456 | 1С | 500 |
| 789 | Контрагент | 700 |
Шаг 8. Разверните источники в столбцы
Используйте:
Преобразование → Столбец сведения
Или Сводный столбец.
В качестве значений выберите сумму.
Получите:
| Очищенный номер | 1С | Контрагент |
|---|---|---|
| 123 | 1000 | 950 |
| 456 | 500 | null |
| 789 | null | 700 |
Шаг 9. Добавьте колонку разницы
Добавьте пользовательский столбец:
(if [1С] = null then 0 else [1С]) - (if [Контрагент] = null then 0 else [Контрагент])
Назовите его:
Разница
Шаг 10. Добавьте статус
Пользовательский столбец:
if [1С] = null then "Есть только у контрагента"
else if [Контрагент] = null then "Есть только в 1С"
else if Number.Round([Разница], 2) <> 0 then "Разница в суммах"
else "ОК"
Шаг 11. Оставьте только расхождения
Отфильтруйте статус:
не равно ОК
Загрузите результат в Excel:
Главная → Закрыть и загрузить
Рекомендованный вариант
Если строк до нескольких тысяч — достаточно формул с колонками D:G.
Если строк десятки или сотни тысяч — лучше Power Query:
- быстрее;
- меньше риск испортить формулы;
- удобно обновлять сверку одной кнопкой;
- легко обрабатывать дубли и текстовые суммы.
Сверка счетов 1С и Контрагента
Шаг 1. Нормализация номеров счетов
Проблема: номера типа " 0012 ", 12, "12" должны считаться одинаковыми. Решение — привести к единому виду формулой, убрав пробелы и ведущие нули.
На листе 1С в столбец D (вспомогательный «ключ»):
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;" ";""))
Если нужно ещё и убрать ведущие нули (считать "007" и "7" одинаковыми):
=ЕСЛИОШИБКА(ТЕКСТ(ЗНАЧЕН(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""));"0");ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))
То же самое — на листе Контрагент, тоже в столбец D.
Это обязательный шаг: без нормализации ВПР/СЧЁТЕСЛИМН не найдёт совпадения из-за лишних пробелов.
Шаг 2. Поиск «только в 1С» и «только в Контрагенте»
На листе 1С, столбец E:
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(D2;Контрагент!D:D;0));"Есть у контрагента";"ТОЛЬКО В 1С")
На листе Контрагент, столбец E (аналогично в обратную сторону):
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(D2;'1С'!D:D;0));"Есть в 1С";"ТОЛЬКО У КОНТРАГЕНТА")
Шаг 3. Сверка сумм по совпавшим счетам
На листе 1С, столбец F — сумма у контрагента по этому номеру:
=ЕСЛИОШИБКА(ИНДЕКС(Контрагент!C:C;ПОИСКПОЗ(D2;Контрагент!D:D;0));"")
Столбец G — разница:
=ЕСЛИ(F2="";"";C2-F2)
Столбец H — статус:
=ЕСЛИ(E2="ТОЛЬКО В 1С";"Нет у контрагента";
ЕСЛИ(F2="";"";
ЕСЛИ(C2=F2;"ОК";"РАСХОЖДЕНИЕ "&ТЕКСТ(G2;"0,00"))))
Шаг 4. Проверка на ошибки
4.1. Пустые ячейки (номер, дата, сумма)
Добавить отдельный столбец-флаг:
=ЕСЛИ(ИЛИ(A2="";B2="";C2="");"ПУСТАЯ СТРОКА — проверить!";"")
4.2. Текст вместо числа в сумме
Частая беда: сумма выгружена как текст с пробелами ("1 234,56"), тогда арифметика даст ошибку или неверный результат.
Проверка:
=ЕСЛИ(И(C2<>"";НЕ(ЕЧИСЛО(C2)));"СУММА КАК ТЕКСТ!";"")
Исправление (приведение текста к числу, учитывая пробелы как разделители тысяч и запятую как десятичный разделитель):
=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(C2;" ";"");ПРОБЕЛ(160);""))
(ПРОБЕЛ(160) — неразрывный пробел, часто встречается в выгрузках 1С).
Лучше сразу считать сумму через эту формулу в дополнительном столбце и использовать её везде вместо «сырого» C.
4.3. Пробелы/неявные символы в номерах
Уже решено в Шаге 1 через СЖПРОБЕЛЫ + ПОДСТАВИТЬ. Дополнительно стоит убрать неразрывные пробелы:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" ");" ";""))
4.4. Дубликаты номеров внутри одного списка
Важно проверить — если номер задвоен в 1С, формулы ПОИСКПОЗ найдут только первое совпадение, и сверка будет некорректной.
=ЕСЛИ(СЧЁТЕСЛИ($D$2:$D$1000;D2)>1;"ДУБЛЬ!";"")
4.5. Условное форматирование
Для наглядности:
- Красным — ячейки со статусом "ТОЛЬКО В 1С" / "ТОЛЬКО У КОНТРАГЕНТА"
- Жёлтым — "РАСХОЖДЕНИЕ"
- Через Главная → Условное форматирование → Правило по формуле:
=ЛЕВСИМВ($H2;11)="РАСХОЖДЕНИЕ"
Если строк много — через Power Query
Это предпочтительный вариант для больших объёмов (>5000 строк), т.к. формулы ВПР/ПОИСКПОЗ на массивах будут тормозить.
Шаг 1. Загрузка и очистка
- Данные → Получить данные → Из файла/листа — загрузить оба листа как запросы (
1СиКонтрагент). - В каждом запросе:
- Выделить столбец «Номер» → Преобразование → Формат → Обрезать (убирает пробелы по краям).
- Добавить столбец:
Text.Clean()иText.Replace([Номер], " ", "")для удаления всех пробелов. - Для чисел: изменить тип данных на «Десятичное число» — Power Query сам подскажет ошибки конвертации текста в число (ячейки с ошибкой подсвечиваются).
- Для ведущих нулей:
Number.ToText(Number.From([Номер]))или оставить как текст, если не критично.
Шаг 2. Слияние запросов (аналог ВПР)
Главная → Объединить запросы (Merge Queries):
- Таблица 1:
1С, ключ — очищенный номер. - Таблица 2:
Контрагент, ключ — очищенный номер. - Тип соединения: Full Outer (Полное внешнее) — покажет все строки из обеих таблиц, включая несовпавшие.
Шаг 3. Разворачивание и вычисление разницы
- Развернуть столбец с данными контрагента (сумма, дата).
- Добавить вычисляемый столбец:
Разница = [Сумма_1С] - [Сумма_Контрагент]. - Добавить столбец статуса через
if [Сумма_1С] = null then "Только у контрагента" else if [Сумма_Контрагент] = null then "Только в 1С" else if [Разница] <> 0 then "Расхождение" else "ОК".
Шаг 4. Загрузка результата
Закрыть и загрузить → результат на новый лист. Можно освежать одной кнопкой Обновить всё при поступлении новых выгрузок — не нужно протягивать формулы заново.
Через сводную таблицу (альтернатива)
- Собрать оба списка в один (копипастом) с добавленным столбцом «Источник» (1С / Контрагент) и нормализованным номером.
- Построить сводную:
- Строки: Номер (нормализованный)
- Столбцы: Источник
- Значения: Сумма (Сумма по полю)
- В сводной сразу будет видно:
- Если в строке заполнен только столбец «1С» — счёт отсутствует у контрагента.
- Если заполнены оба — сравнить значения визуально или добавить вычисляемое поле
Разница = '1С' - 'Контрагент'(Анализ сводной таблицы → Поля, элементы и наборы → Вычисляемое поле).
Сводная таблица проще в настройке, но Power Query лучше масштабируется и автоматизируется.
Итоговая рекомендация
- До 2000–3000 строк — формулы (Шаги 1-4) достаточно.
- Регулярная (ежемесячная) сверка больших объёмов — один раз настроить Power Query, дальше только «Обновить».
- Обязательно: нормализация номеров, проверка текстовых сумм, проверка дублей — иначе сверка даст ложные результаты.
Отлично, давайте разберем эту задачу по сверению счетов в Excel как настоящие эксперты!
Задача: Сверить два списка счетов (1С и Контрагент)
Цель:
- Найти счета, которые есть только в одном списке.
- Найти разницу в суммах для общих счетов.
Структура данных:
- Лист "1С": A - Номер, B - Дата, C - Сумма
- Лист "Контрагент": A - Номер, B - Дата, C - Сумма
- Особенности: Номера могут быть с пробелами и ведущими нулями.
Версия: Excel 2021 (поддерживает динамические массивы и новые функции).
Подготовка данных (Обязательный шаг!)
Прежде чем приступать к формулам, необходимо привести номера счетов к единому формату. Это критически важно для корректного сопоставления.
1. Создадим вспомогательные столбцы для очищенных номеров.
- На листе "1С":
- В ячейке
D1напишите "Номер (Очищенный)". - В ячейке
D2введите формулу:
``excel``
=ЗНАЧЕН(ОЧИСТИТЬ(ПОДСТАВИТЬ(A2;" ";"")))
ПОДСТАВИТЬ(A2;" ";""): Удаляет все пробелы из номера счета.ОЧИСТИТЬ(...): Удаляет непечатаемые символы (хотя для номеров счетов это редкость, но на всякий случай).ЗНАЧЕН(...): Преобразует текстовое число в числовое. Это важно, если номера счетов могут быть как числами, так и текстом с ведущими нулями. Если номера всегда должны быть текстом (например, "001" и "1" - это разные счета), тоЗНАЧЕНне нужен. В контексте бухгалтерии "001" и "1" обычно один и тот же счет, поэтомуЗНАЧЕНпредпочтительнее.
- На листе "Контрагент":
- В ячейке
D1напишите "Номер (Очищенный)". - В ячейке
D2введите ту же формулу:
``excel``
=ЗНАЧЕН(ОЧИСТИТЬ(ПОДСТАВИТЬ(A2;" ";"")))
2. Протяните эти формулы вниз до конца данных на обоих листах.
Теперь у нас есть стандартизированные номера счетов, по которым мы будем проводить сверку.
Метод 1: Сверка с помощью формул (для умеренного количества строк)
Создадим новый лист, например, "Сверка".
1. Объединяем уникальные номера счетов из обоих списков.
- В ячейке
A1на листе "Сверка" напишите "Номер Счета". - В ячейке
A2введите формулу (используемУНИКиВЕРТСТЭКиз Excel 2021):
``excel``
=СОРТ(УНИК(ВЕРТСТЭК('1С'!D2:D1000;'Контрагент'!D2:D1000)))
'1С'!D2:D1000: Диапазон очищенных номеров счетов на листе "1С". Отрегулируйте1000на реальный максимальный размер ваших данных.'Контрагент'!D2:D1000: Диапазон очищенных номеров счетов на листе "Контрагент".ВЕРТСТЭК(...): Объединяет два диапазона в один вертикальный массив.УНИК(...): Извлекает только уникальные значения из объединенного массива.СОРТ(...): Сортирует уникальные номера для удобства просмотра.
Эта формула динамического массива заполнит столбец A всеми уникальными номерами счетов из обоих списков.
2. Получаем суммы из 1С для каждого уникального счета.
- В ячейке
B1на листе "Сверка" напишите "Сумма 1С". - В ячейке
B2введите формулу:
``excel``
=СУММЕСЛИ('1С'!D:D;A2#;'1С'!C:C)
'1С'!D:D: Столбец с очищенными номерами счетов на листе "1С".A2#: Ссылка на динамический массив уникальных номеров счетов, который мы создали вA2. Это позволит формуле автоматически распространиться на все уникальные счета.'1С'!C:C: Столбец с суммами на листе "1С".СУММЕСЛИ: Суммирует значения из столбцаCна листе "1С" для каждого номера счета, найденного вA2#. ИспользуемСУММЕСЛИ, а неВПР, потому что один и тот же номер счета может встречаться несколько раз в одном списке (например, несколько операций по одному счету).
3. Получаем суммы из Контрагента для каждого уникального счета.
- В ячейке
C1на листе "Сверка" напишите "Сумма Контрагент". - В ячейке
C2введите формулу:
``excel``
=СУММЕСЛИ('Контрагент'!D:D;A2#;'Контрагент'!C:C)
(Аналогично предыдущей, но для данных контрагента).
4. Вычисляем разницу.
- В ячейке
D1на листе "Сверка" напишите "Разница". - В ячейке
D2введите формулу:
``excel``
=C2#-B2#
Эта формула также автоматически распространится на весь диапазон, вычисляя разницу для каждого счета.
5. Определяем статус счета.
- В ячейке
E1на листе "Сверка" напишите "Статус". - В ячейке
E2введите формулу:
``excel``
=ВЫБОР(ЗНАК(B2#)+ЗНАК(C2#)+2;
"Только в 1С";
"Только в Контрагенте";
"Совпадает";
"Разница в суммах";
"Разница в суммах")
ЗНАК(B2#): Возвращает 1, если сумма 1С > 0; -1, если < 0; 0, если = 0.ЗНАК(C2#): Аналогично для суммы Контрагента.ЗНАК(B2#)+ЗНАК(C2#)+2: Эта конструкция позволяет получить уникальные коды для разных комбинаций:0+0+2 = 2: Оба 0 (не должно быть, если счет есть в списке) -> "Только в 1С" (если B2#=0, C2#=0, то это неверно, нужно доработать)1+0+2 = 3: Сумма 1С есть, Суммы Контрагента нет (0) -> "Только в 1С"0+1+2 = 3: Суммы 1С нет (0), Сумма Контрагента есть -> "Только в Контрагенте"1+1+2 = 4: Обе суммы есть.
Уточненная логика для статуса:
Лучше использовать более явные проверки:
``excel``
=ЕСЛИ(И(B2#=0;C2#<>0);"Только в Контрагенте";
ЕСЛИ(И(B2#<>0;C2#=0);"Только в 1С";
ЕСЛИ(B2#=C2#;"Совпадает";
"Разница в суммах")))
ЕСЛИ(И(B2#=0;C2#<>0);"Только в Контрагенте"; ...): Если сумма 1С равна 0, а сумма Контрагента не равна 0, значит, счет есть только у Контрагента.ЕСЛИ(И(B2#<>0;C2#=0);"Только в 1С"; ...): Если сумма 1С не равна 0, а сумма Контрагента равна 0, значит, счет есть только в 1С.ЕСЛИ(B2#=C2#;"Совпадает"; ...): Если суммы равны, то совпадает."Разница в суммах": Во всех остальных случаях (обе суммы не равны 0, но не равны друг другу) - разница в суммах.
Эта формула также автоматически распространится.
Проверка на ошибки (пустые ячейки, текст вместо числа):
- Пустые ячейки в номерах счетов: Формула
ПОДСТАВИТЬ(A2;" ";"")иЗНАЧЕНобработают пустые ячейки как 0. Если пустая ячейка в столбце A означает отсутствие счета, то это не проблема. Если же это ошибка ввода, то ее нужно исправлять на этапе ввода данных. - Текст вместо числа в суммах:
СУММЕСЛИигнорирует текстовые значения в диапазоне суммирования. Если в столбце C есть текст, он не будет учтен. Это может быть как желаемое поведение, так и скрытая ошибка. Рекомендуется форматировать столбцы с суммами как "Числовой" и использовать проверку данных для предотвращения ввода текста. - Пробелы в ИНН и номерах: Наш шаг подготовки данных с
ПОДСТАВИТЬ(A2;" ";"")уже решает эту проблему. - Ведущие нули:
ЗНАЧЕНпреобразует "001" в "1". Если "001" и "1" должны быть разными счетами, не используйтеЗНАЧЕН. В бухгалтерии обычно это один и тот же счет.
Метод 2: Сверка с помощью Power Query (для большого количества строк)
Power Query - это мощный инструмент для трансформации данных, идеально подходящий для больших объемов и повторяющихся сверок.
1. Загрузка данных в Power Query:
- Откройте лист "1С".
- Выделите диапазон данных (включая заголовки).
- Перейдите на вкладку Данные -> Из таблицы/диапазона.
- Откроется редактор Power Query.
- Переименуйте запрос в "1С_Данные".
- Очистка номера счета:
- Выделите столбец "Номер".
- Вкладка Преобразование -> Формат -> Очистить.
- Вкладка Преобразование -> Заменить значения -> "Что найти":
(пробел), "Заменить на":(пусто). - Вкладка Преобразование -> Тип данных -> Целое число (или Текст, если ведущие нули важны). Если выбираете "Целое число", Power Query автоматически уберет ведущие нули.
- Нажмите Закрыть и загрузить в... -> Только создать подключение.
- Повторите те же шаги для листа "Контрагент", переименовав запрос в "Контрагент_Данные".
2. Объединение и сверка данных в Power Query:
- Перейдите на вкладку Данные -> Получить данные -> Объединить запросы -> Объединить.
- В первом выпадающем списке выберите "1С_Данные".
- Во втором выпадающем списке выберите "Контрагент_Данные".
- Выберите столбец "Номер" (очищенный) в обеих таблицах.
- Тип соединения:
- Полное внешнее (Full Outer): Это объединит все строки из обеих таблиц, сопоставив их по номеру счета. Если счет есть только в одной таблице, в другой будут
null. - Нажмите ОК.
3. Преобразования в объединенной таблице:
- Развернуть столбец "Контрагент_Данные":
- В правом верхнем углу столбца "Контрагент_Данные" (который появился после объединения) нажмите на значок расширения (две стрелки).
- Снимите галочку с "Использовать исходное имя столбца как префикс".
- Выберите столбцы "Сумма" и "Дата" (если нужна).
- Нажмите ОК.
- Переименуйте столбцы:
- "Номер" -> "Номер Счета"
- "Сумма" (из 1С) -> "Сумма 1С"
- "Сумма.1" (из Контрагента) -> "Сумма Контрагент"
- Замена
nullна 0: - Выделите столбцы "Сумма 1С" и "Сумма Контрагент".
- Вкладка Преобразование -> Заменить значения.
- "Что найти":
null, "Заменить на":0. - Добавление столбца "Разница":
- Вкладка Добавление столбца -> Настраиваемый столбец.
- "Имя нового столбца": "Разница".
- "Формула настраиваемого столбца":
[Сумма Контрагент] - [Сумма 1С] - Добавление столбца "Статус":
- Вкладка Добавление столбца -> Настраиваемый столбец.
- "Имя нового столбца": "Статус".
- "Формула настраиваемого столбца":
``powerquery``
if [Сумма 1С] = 0 and [Сумма Контрагент] <> 0 then "Только в Контрагенте"
else if [Сумма 1С] <> 0 and [Сумма Контрагент] = 0 then "Только в 1С"
else if [Сумма 1С] = [Сумма Контрагент] then "Совпадает"
else "Разница в суммах"
(Синтаксис Power Query Query M-language).
4. Загрузка результата:
- Вкладка Главная -> Закрыть и загрузить в... -> Таблица -> На новый лист.
Преимущества Power Query:
- Автоматизация: После настройки запроса, достаточно обновить данные (Данные -> Обновить все), и сверка будет выполнена заново.
- Масштабируемость: Отлично работает с миллионами строк.
- Чистота данных: Все шаги по очистке и преобразованию записываются и применяются автоматически.
- Гибкость: Можно добавлять дополнительные проверки, группировки и т.д.
Метод 3: Сверка с помощью сводной таблицы (менее детально, но быстро для общих сумм)
Этот метод хорош, если вам нужна общая картина по суммам для каждого счета, но он не так явно показывает "только в одном списке" без дополнительных манипуляций.
1. Подготовка данных:
- Создайте вспомогательный столбец "Источник" на каждом листе:
- На листе "1С" в
E2:"1С"(и протяните вниз). - На листе "Контрагент" в
E2:"Контрагент"(и протяните вниз). - Убедитесь, что очищенные номера счетов (столбец D) созданы, как описано выше.
2. Объединение данных в одну таблицу (для сводной):
- Создайте новый лист "Объединенные Данные".
- Скопируйте все данные (включая заголовки и новые столбцы D и E) с листа "1С" на этот лист.
- Скопируйте все данные (включая заголовки и новые столбцы D и E) с листа "Контрагент" под данные с листа "1С".
3. Создание сводной таблицы:
- Выделите весь диапазон "Объединенные Данные".
- Вкладка Вставка -> Сводная таблица.
- Разместите на новом листе.
- Поля сводной таблицы:
- Строки: "Номер (Очищенный)"
- Столбцы: "Источник"
- Значения: "Сумма" (перетащите дважды)
- Первое "Сумма" будет "Сумма по полю Сумма".
- Второе "Сумма" переименуйте в "Разница" и измените тип вычисления на "Разность от" (Базовое поле: "Источник", Базовый элемент: "1С"). Примечание: Это может быть не интуитивно и требует, чтобы "1С" был первым элементом в списке "Источник".
Альтернатива для сводной таблицы (более простая):
- Создайте сводную таблицу, как описано выше.
- Строки: "Номер (Очищенный)".
- Столбцы: "Источник".
- Значения: "Сумма" (автоматически будет "Сумма по полю Сумма").
- Вы получите таблицу:
````
Номер Счета | 1С | Контрагент
----------------------------------
1 | 1000 | 1000
2 | 2000 |
3 | | 3000
4 | 5000 | 4900
- Добавьте вычисляемое поле:
- Вкладка Анализ сводной таблицы -> Поля, элементы и наборы -> Вычисляемое поле.
- "Имя": "Разница".
- "Формула":
= 'Сумма' - 'Сумма'(это не сработает напрямую, так как "Сумма" относится к общему полю).
Лучший подход для сводной таблицы (после Power Query):
Если вы уже загрузили данные через Power Query и получили объединенную таблицу со столбцами "Номер Счета", "Сумма 1С", "Сумма Контрагент" и "Разница", то создание сводной таблицы из этой результирующей таблицы Power Query будет очень простым и информативным:
- Строки: "Номер Счета"
- Значения: "Сумма 1С", "Сумма Контрагент", "Разница"
- Фильтры: "Статус" (чтобы быстро отфильтровать "Только в 1С", "Только в Контрагенте", "Разница в суммах").
Резюме и Рекомендации:
- Для небольших и средних объемов данных (до нескольких тысяч строк): Метод с формулами (Метод 1) в Excel 2021 с динамическими массивами очень эффективен и прост в настройке.
- Для больших объемов данных (десятки тысяч строк и более) или для регулярных сверок: Power Query (Метод 2) - это ваш лучший выбор. Он обеспечивает автоматизацию, масштабируемость и надежность.
- Сводные таблицы (Метод 3): Наиболее полезны для агрегирования и анализа уже сверенных данных (например, после обработки в Power Query), а не для самой сверки "с нуля".
Важно: Всегда начинайте с подготовки данных (очистка номеров счетов) – это основа успешной сверки!
Надеюсь, это подробное объяснение поможет вам справиться с задачей!
Советы
- Перед сверкой приведите номера к одному виду (СЖПРОБЕЛЫ и ТЕКСТ): половина «расхождений» обычно из-за формата.
- Откройте доступ и скопируйте промпт кнопкой выше.
- Замените поля в фигурных скобках своими данными.
- Отправьте в нейросеть и сравните ответ с примером на этой странице.
Подробнее о структуре хорошего запроса: гид AI University.
Похожие промпты
Все 120 промптов и 6 наборов
45 промптов открыты бесплатно. Остальные и наборы-цепочки открывает доступ к библиотеке за 1 490 ₽. Полный доступ за 4 900 ₽: все курсы AI University на русском и библиотека промптов. Разовый платёж, новые промпты входят.