4 способа быстро и легко сравнить большие таблицы

Часто мы сталкиваемся с задачами, где необходимо сверить данные двух файлов или таблиц до изменений и после. Это не проблема, если в каждом источнике небольшое количество строк и максимум одна страница. А если предстоит найти отличия в файлах, состоящих из сотен страниц и тысяч строк? Искать глазами трудно и долго — велика вероятность что-то не заметить и потратить на столь утомительное занятие часы, дни, а то и недели.
В статье я поделюсь 4 способами сравнить объемные таблицы по различным значениям, которые легко освоит любой пользователь.

Способ № 1: сравнить в базе 1С

На любой платформе 1С есть типовая обработка «Сравнить файлы». Находится в верхнем левом углу: «Главное меню — Файл — Сравнить файлы». 

Она позволяет сравнить содержимое файлов формата .txt и .mxl. Другие форматы не принимает и выдает сообщения: «Ошибка при выполнении файловой операции» и «Бинарные файлы различны».

 

Чтобы начать работать, добавьте сопоставляемые файлы в окошки «Сравнить» и «С». Укажите «Как» сравнить: табличный документ, текстовый документ или двоичное сравнение. Нажмите клавишу «ОК». 

Открылось окно с обеими таблицами, в которых цветом выделены отличающиеся значения.

На верхней панели инструментов доступны следующие команды :

позволяют переходить по различиям от текущего значения к следующему и обратно, в это время в основном окне будет выделена ячейка с отличием; 

меняет порядок сравнения: если ее нажать, то правый лист окажется слева, а левый — справа; 

— настройка ячеек по цветам.

 

 

В нижней части окна отображается подсказка, что означает каждый цвет.

Плюсы: 

  • не требует дополнительного программного обеспечения;

  • моментально показывает все изменения без предварительных настроек;

  • удобный интерфейс: когда на любой части окна прокручиваешь первый файл вверх/вниз или вправо/влево, в то же время параллельно ему прокручивается второй.

Минусы: 

  • ограниченное количество форматов — работает только с .txt и .mxl. Нельзя вставить Excel-файлы; 

  • невозможно сохранить результат сравнения во внешний файл. Даже если скопировать данные и вставить в тот же Excel, цветное выделение различий не перенесется;

  • нет дополнительных формул, например, чтобы вывести сумму по колонке. 

 

Способ № 2: сравнить в Excel 

Самый распространенный метод: выгружаете первоначальный вариант отчета и тот же отчет с поправками в формате .xls и сверяете их в Microsoft Excel, пользуясь доступными формулами.

Для примера приведу стандартную формулу «Если».

Настройка:

1. Выделяем пустую ячейку. В ней будет отображаться результат функции.

2. В верхней панели кликаем на ярлык формулы .

3. В предложенном списке выбираем функцию «ЕСЛИ», нажимаем «ОК».

4. Задаем условие в поле «Лог-выражение». На скрине-примере условие следующее: если значение ячейки по колонке «Конечный остаток» левой таблицы равен значению ячейки по колонке «Конечный остаток» справа.

5. В поле «Значение_если_истина» указываем, какой вывод нужно вывести, если значения равны.

6. В поле «Значение_если_ложь» обозначаем, какой вывод нужно вывести, если значения различны.

7. Нажимаем «ОК».

В таблице автоматически отобразился результат по выделенной строке. Чтобы вывести итоги по другим строкам, наведите мышку на правый нижний угол первой ячейки с формулой, захватите и протяните по колонке вниз до конца таблиц.

В скрине-примере видно, что гораздо больше итогов с выводом «отличаются», что не соответствует действительности — некоторые строки с одним и тем же регистратором не располагаются друг напротив друга. Выбранная функция этот момент не контролирует, поэтому вышли ложные результаты. Чтобы исключить такие ошибки, прежде чем использовать формулу, необходимо обе таблицы вручную откорректировать и проставить строки с одним и тем же регистратором в одну линию.

Способ занимает много времени, особенно если сводка состоит из тысячи строк. Его удобно использовать, работая с небольшим объемом данных. 

В маленьких файлах вы можете суммировать значения ячеек в колонках и тем самым выходить на строки с различиями.

Если хотите быстро найти нужные ячейки, не вчитываясь в каждую строку и не напрягая зрение, воспользуйтесь функционалом «Условное форматирование».

Вот один из примеров настройки:

И ее результат:

 

Плюсы: 

  • гибкая система функций, условий. Можно самостоятельно прописать практически любые условия по сравнению, выделению, форматированию данных. 

Минусы: 

  • иногда потребуется не один час, чтобы подстроить таблицу для шаблонной формулы; 

  • при сверке объемных документов, даже с использованием формул, легко не заметить нужную ячейку и допустить ошибки по невнимательности.

 

Способ №3: использовать «Средство сравнения электронных таблиц»

«Средство сравнения электронных таблиц» — отдельное ПО, устанавливаемое вместе с пакетом  версии Microsoft Office 2013 Pro+ и Microsoft Office 365 Pro+. В других версиях этой программы нет. 

Чтобы ее запустить, в меню «Пуск» выберите: «Все программы — Microsoft Office — Средство сравнения электронных таблиц (Spreadsheet Compare 2013)».

На вкладке «Главное» (Home) нажмите «Сравнить файлы» (Compare Files). 

В окошках «Сравнить» (Compare) и «С» (To) укажите нужные файлы формата Excel. Нажмите «ОК».  

Выбранные файлы распределились в разных частях рабочего окна, отличающиеся ячейки в них выделены цветом. Вы можете отрегулировать, какие различия показывать, а какие нет, с помощью настройки Option, которая расположена в левой нижней части окна. Тут же указано, что означает каждый цвет. 

Правее от окошка Option отображается список всех ячеек, где отличаются значения. Если вы кликните на интересующую строку, в табличных частях программа автоматически выделит эти ячейки и вам не придется искать их глазами. 

В правом нижнем углу показывается статистика по отличиям: общее количество различающихся значений, число ячеек с разным форматом и прочее. 

Результаты сравнения можно сохранить в Excel по команде: «Экспорт результатов» (Export Results) на вкладке «Главное» (Home). Есть возможность скопировать итоги и вставить их в любое другое текстовое ПО: «Копировать результаты в буфер обмена» (Copy Results to Clipboard). 

Плюсы: 

  • позволяет быстро и просто сверять готовые таблицы; 

  • можно сохранить результат для дальнейшего использования; 

  • есть автоматическое выделение всех отличающихся ячеек, фильтр по интересующим параметрам. 

Минусы:

  • нельзя редактировать табличные части; 

  • работает только с форматом Excel; 

  • доступна в Microsoft Office 2013 Pro+ и Microsoft Office 365 Pro+.  

 

Способ № 4: использовать Excel Power Query

Power Query — отдельная надстройка в Excel, которая по умолчанию есть в версии Microsoft Office 2024 и выше (вкладка «Данные»). В младших версиях ее можно установить самостоятельно, скачав по ссылке: https://www.microsoft.com/ru-RU/download/details.aspx?id=39379

Power Query — технология подключения к данным, которая помогает обнаруживать, подключать, объединять и уточнять данные из различных источников для анализа. 

Чтобы начать с ней работать, необязательно заранее подготавливать файлы Excel, сохранять, копировать таблицы. Power Query позволяет загружать данные:

  • из интернета;

  • внешнего файла форматом Excel, CSV, XML;

  • баз данных SQL, Access, IBM DB2 и других;

  • Azure;

  • веб-служб Dynamics 365,

  • Facebook.

Самые продвинутые пользователи могут «Написать запрос с нуля».

В этой статье я подробно опишу только сопоставление двух таблиц. На первый взгляд, способ очень трудный и долгий, но если вы освоите его, то процесс будет занимать не больше 10 минут.

Перед вами две таблицы в Excel. Нужно преобразовать каждую в умную таблицу. Для этого выделите нужный диапазон, на вкладке «Главная» кликните на «Форматировать как таблицу» или на клавиатуре нажмите Ctrl+T. 

Теперь с каждой таблицы необходимо создать отдельные запросы для сравнения. Выделите любую ячейку в первой таблице и перейдите на вкладку Power Query «Из таблицы или диапазона». Она откроется в «Редакторе Power Query». Рекомендую задать ей «Имя» в свойствах, чтобы в дальнейшем не путать файлы. При необходимости уберите лишние строки и столбцы. 

Нажмите «Закрыть и загрузить в …», выберите «Только создать подключение» и кликните на кнопку «Загрузить». 


Повторите все шаги со вторым документом. 

В правой части окна появились два запроса с указанными именами таблиц. На панели инструментов выберите команду «Слияние» и укажите поочередно созданные запросы. По одному разу в каждой части окна кликом выделите колонки, по которым нужно объединить файлы. Тип соединения «Полное внешнее (все строки из обеих таблиц)». Кликните на «ОК». 

Вы снова попали в «Редактор Power Query». Здесь обе таблицы объединены в одну путем слияния указанных столбцов. В «Свойствах» задайте имя новому документу — раскройте крайнюю правую колонку, нажав на иконку .

Следующий этап — вывести отличия таблиц в отдельную колонку. На вкладке «Добавление столбца» выберите «Условный столбец». В окне настройки задайте «Имя нового столбца» и проставьте условия сравнений колонок и какой вывод должен отразиться при их соблюдении. Правил можно задавать неограниченное количество с помощью команды «Добавить правило».

В примере задано:

1. Если в колонке «Регистратор» первой таблицы стоит значение null, а во второй таблице это значение заполнено, значит документ «Добавили».

2. Если в колонке «Регистратор1» второй таблицы стоит значение null, значит документ «Удалили».

3. Если значения колонок «Конечный остаток» и «Конечный остаток1» не равны, значит данные «Изменили».

Обратите внимание на третье условие. Чтобы в «Значении» выбрать нужную колонку, кликните на иконку , затем «Выберите столбец». Только тогда появится выпадающий список допустимых колонок.

Обязательно заполните в левом нижнем углу значение «В противном случае» — оно будет исполняться, если ни одно из вышеприведенных условий не выполнено. Нажмите «ОК». 

В «Редакторе» появилась крайняя правая колонка, в которой выведены результаты сравнения по каждой строке. С помощью удобного фильтра можно вывести только строки с интересующим итогом.   

Сохраните документ с помощью команды на «Главной» вкладке: «Закрыть и загрузить в … — Таблица — Имеющийся лист — — укажите ячейку, с которой должна начаться новая таблица — ОК — Загрузить». 

Итог: таблицы до сравнения и объединенная сводка с готовыми результатами для анализа. 

Плюсы: 

  • исключены ошибки по невнимательности, вам нужно только указать, что с чем сравнивать и что вывести в вывод;

  • надстройка работает со множеством форматов и различными источниками данных.

Минусы:

  • пока не обнаружено =)

Надеюсь, методы, о которых я рассказал, пригодятся вам в работе и сделают процесс сравнения данных проще и легче. Поделитесь в комментариях способами сопоставления, которыми пользуетесь вы.

20 Comments

  1. Rustig

    (0) данные для сравнения тащатся из 1с?

    если да, тогда дополнительно к своим способам можете использовать такой вариант: https://infostart.ru/public/1022511/

    Reply
  2. rusmil

    Забыли про пятый способ, обработки с Инфостарта 😉

    Reply
  3. kuzyara

    Первые и третий способ использую регулярно + diffchecker.com (diff онлайн)

    Reply
  4. PowerBoy

    (0) я пользуюсь своей надстройкой:

    https://infostart.ru/public/317409/

    Reply
  5. tormozit

    Реклама. Я пользуюсь своем инструментом «Сравнение таблиц» из набора Инструменты разработчика. Он поддерживает импорт таблиц из табличных документов. Сопоставление выполняется по определяемому пользователем набору ключевых полей (измерений). Он может быть быстро вызван для сравнения таблиц из других инструментов набора, например консоли запросов.

    Reply
  6. alex_bob

    Для быстрого сравнения таблиц пользуюсь сам и научил пользоваться бухгалтеров механизмом сводных таблиц. Порядок действий примерно следующий:

    1. Ключевые поля располагаются на листе друг под другом.

    2. Числовые столбцы, которые надо сравнить располагаются в соседних колонках лесенкой.

    3. Колонкам даются осмысленные названия.

    4. Весь диапазон выделяем и нажимаем создать сводную таблицу.

    5. Ключевые поля переносим в поля строк, числовые в поля данных.

    6. Нажимаем ОК. Создается сводная таблица.

    7. В свободной колонке сводной таблицы прописываем формулу вида =B2-С2, где B и С — сравниваемые колонки.

    8. Размножаем формулу на всю колонку.

    9. Выделяем сводную таблицу и делаем фильтр по созданной колонке <>0

    10. Смотрим разницу между таблицами.

    PS Набор этого текста получился дольше, чем реально получается результат.

    Reply
  7. Evg-Lylyk

    (0) Еще у первого метода недостаток что он не работает программно в тонком клиенте

    Reply
  8. DoctorRoza

    Возьму методы на вооружение

    Reply
  9. BigClock

    https://infostart.ru/public/152745/ (для обычных форм)

    https://infostart.ru/public/648688/ (для управляемых)

    Reply
  10. kiRa S

    Скажите, а что значит п. 2 «столбцы располагаются лесенкой»? тоже использую сводные таблицы для анализа, но числовые столбцы просто располагаю последовательно.

    Небольшое уточнение: если сравниваете 2 регистра, или 2 базы, то в отдельной колонке можно прописать их название, чтобы видеть куда относятся результаты (подходит, если нужно сравнивать 2 значения).

    Кроме сводных таблиц в exel, бывает еще удобно спользовать формулу ВПР для анализа

    Reply
  11. alex_bob

    (10) Наверное вопрос ко мне. К сожалению не получилось вставить скриншот, поэтому попробую на словах. Допустим у нас две таблицы с двумя колонками Сотрудник и Начислено. Сначала копирую обе таблицы на лист одну под другую в столбцы A и B. Затем выделяю диапазон колонки Начислено 2й таблицы и переношу его в колонку C на те же строки.

    Reply
  12. SmArtist

    Антон, спасибо, пригодится.

    Reply
  13. botokash

    У Notepad++ есть плагин Compare

    Reply
  14. DarkAn

    В Excel для поиска и сравнения надо пользоваться функциями ВПР, или ГПР

    (PS. ГПР пришлось воспользоваться только 1 раз в жизни при работе с табелями, а так в списках хватает ВПР)

    Reply
  15. VmvLer

    Если таблицы огромны, то эти красивые презенташки — тлен.

    с огромными я поступаю так

    выполняю запросы или читаю табл. док. или….

    затем сохраняю обе таблицы в файлы средствами 1С

    затем пишу код помещения данных таблиц в вт и сравниваю их средствами СУБД.

    а уже мизерный результат сравнения на монитор.

    Reply
  16. skv_79

    (5) Мне кажется Excel Power Query чаще может оказаться под рукой, т.к. на больших компьютерах он установлен по умолчанию. А так, если на своем, то полностью согласен.

    Reply
  17. novka_07

    Способ 1. Для адептов 1С.

    Способ 2. Если используется часто, а вот условное форматирование иногда забывается

    Способ 3. Для очень узкого круга пользователей.

    Способ 4. Для меня что-то новенькое. Спасибо за наводку 😉

    Reply
  18. Designer1C

    Вот как я представляю свойства идеальной программы для сравнения таблиц данных :

    1. Вывод результата сравнения в отчёт

    2.Количество сравниаемых измерений : и 1 и несколько

    3. Печать названий сравниваемых таблиц, а также даты и времени.

    4. Сравнение таблиц без применения дополнительного ПО (на платформе 1С Предприятие 8)

    5. Сравнение и файлов с табличными документами и табличных документов без файлов.

    6. Обновление результата сравнения, если изменилось содержание сравниваемых файлов

    7 сравнение таблиц по 100 000 и больше за разумное время.

    8. Поддержка и УФ и ОФ

    9. Чтение чисел , где десятичная точка это или точка или запятая. При этом у одной таблицы. «Точка», а у другой таблицы это «запятая»

    9. Чтение чисел, у которых есть разделители разрядов (единицы, тысячи, миллионы и т.д.)

    10. Количество строк в сравнимаемых таблицах может отличаться

    11. Количество значений измерений в таблицах может отличаться

    12. В таблице могут повторяться измерения (комбинации измерений для случая сравнения по нескольким измерениям)

    Reply
  19. klinval

    Если данных не много спасает обычная сравнилка от 1С.

    Если данных много то пользуюсь Сверка движений документов и записей регистров (вкладка сравнение). Под капотом: считывание в ТЗ, сравнение двух ТЗ (использован один из методов в статье «Лучшие методы сравнения таблиц значений») и вызов стандартной сравнилки от 1С только по различающимся строкам.

    Reply
  20. Cерый

    https://infostart.ru/public/558547/

    сравнение может быть выполнено стандартным OUTER JOIN (ПОЛНОЕ СОЕДИНЕНИЕ), в том числе таблиц различных баз 1С, ADO, Excel, XBase с требуемыми инструкциями WHERE (ГДЕ).

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *