Excel Compare 0.9.7 Beta

Автор: J-34
Дата: 13.08.2002
Все фото статьи

Описание


Программа Excel Compare предназначена для сравнения двух электронных таблиц в формате Microsoft Excel (поддерживаются таблицы всех версий Microsoft Excel). Excel Compare сравнивает по порядку данные, представленные в двух таблицах и представляет отчеты в виде отдельной таблицы с указанием измененных, добавленных или удаленных строк с сохранением формата сравниваемых данных. В отчет могут быть добавлены пользовательские макросы. Кроме сравнения целых таблиц программа позволяет сравнивать отдельные листы или диапазоны ячеек. Существует возможность пакетного сравнения пар таблиц с одинаковыми параметрами сравнения для каждой пары.

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

Затем нужно выбрать метод сравнения.

Результаты сравнения можно выводить целыми блоками (Whole blocks) или по строкам (Line by line). При построчной выдаче результатов доступны следующие методы сравнения:

Letter by letter (Буква за буквой), т.е. без учета границ ячеек. Cначала таблицы как бы преобразовываются в две таблицы с одним столбцом, в каждой ячейке котогоро находится строка таблицы, а затем происходит сравнение.

Cell by cell (Ячейка за ячейкой), сравнение содержимого отдельных ячеек. Строки могут иметь изменный порядок колонок (добавленные и удаленные колонки).

Cell by cell, for lists #1 (Ячейка за ячейкой, для списков #1), сравнение содержимого отдельных ячеек с сохранением структуры колонок, т.е. без добавления или удаления колонок.

Cell by cell, for lists #2 (Ячейка за ячейкой, для списков #2) сравнение содержимого отдельных ячеек. Данный метод не принимает во внимание длину значений отдельных ячеек.

Программа не просто определяет - изменены или нет отдельные строки, для не одинаковых строк рассчитывается релевантность с целью определения преобразования одной строки в другую (для отчёта построчного вида). Если процент релевантности меньше порогового, то программа считает, что строка не была преобразована (изменена), а либо добавлена, либо удалена. Релевантность (Relevance percent) задается в процентах от 50 до 99 (по умолчанию 80).

Для иллюстрации понятия релевантности приведу пример. Сравним два набора строк:


11111
22222
33333


и


11111
02222
33333

Видим, что вторая строка имеет релевантность изменения 80%. При установленном пороге релевантности в 90% будет считаться, что строка не просто изменена, а удалена из первого набора, а во второй добавлена новая строка. При чем при поблочном выводе отчета будет показано, что они изменились, а для построчного отчета решающую роль будет играть установленный процент релевантности. При установленном пороге в 75% строка считается измененной.

Настройки программы также позволяют задать возможность сохранения формата ячеек в рапорте (однако при этом возможно зависание программы Microsoft Excel). Также можно выбрать - вставлять или нет в таблицу отчета ссылки на измененные, добавленные и удаленые значения.

Для сравнения нескольких пар таблиц существует меню Project (Проект) - с целью управления проектами. Каждый проект может состоять из нескольких пар таблиц, листов таблиц или просто из диапазона ячеек. Параметры проекта могут быть сохранены.

Excel Compare требует для своей работы программу Microsoft Excel и использует ее для сравнения таблиц, предварительно открыв оба файла с таблицами.

Тестирование


Для тестирования программы я создан две небольшие таблички с ценами на процессоры AMD, ипользовав для основы прайс-лист фирмы "Ф-Центр".




Зеленым цветом в первой таблице обозначена строчка, отсутствующая во второй таблице. Красным цветом во второй таблице обозначены измененные ячейки; лиловым - ячейки, которые поменяли местами; синим - добавленные ячейки; ячейки на сером фоне в таблице остались, однако в результате добавления новых элементов они оказались сдвинуты относительно своего первоначального положения. Посмотрим, как программа справится со сравнением этих таблиц.

Метод вывода результатов сравнения Whole blocks.

Программа показала изменение 4-ой и 5-ой строки. 4-я строка действительно изменена, 5-ая строка была раньше 8-ой. Затем программа показывает изменение 8-ой и 10-ой строк, добавление 15-ой строки второй таблицы, удаление 17-ой строки первой таблицы и добавление 20-ой строки второй таблицы.
Как видим, программа понимает добавление и удаление строк. На данный момент программа не распознает перемену местами двух строк таблицы, распознавая это как операции изменения обеих строк. Надеюсь, что в последующих версиях указанная функция всё же появится.
Не совсем удобно сделан вывод результатов, в частности, программа пишет номера строк таблиц, при этом не указывая самих таблиц. На мой взгляд, правильнее было бы ссылаться на строки, указывая при этом таблицы, или хотя бы добавить такую возможность в настройки программы.

Метод вывода результатов сравнения Line by line.
Во всех четырех способах сравнение идет построчно. В последних трех способах логическая единица сравнения - значение ячейки, они отличаются способом расчета релевантности соответствия.

Метод сравнения Letter by letter.

В отличие от метода метода Whole blocks, 5-ая строка первой таблицы показана как удаленная, а не измененная; 5-ая строка второй таблицы показана как добавленная. Суть проделанных изменений при этом сохраняется, просто они описываются по другому.

Метод сравнения Cell by cell.

Порядок и количество ячеек значения не имеют, сравнение идёт для всех ячеек одной строки со всеми ячейками другой. Рассчитываются все общие последовательности, и если их суммарная длина превышает заданный процент релевантности, то считается, что строка изменена. В нашем случае результат получился такой же, как и при выдаче результатов методом Whole blocks.

Метод сравнения Cell by cell, for lists #1.

Порядок следования ячеек двух строк имеет решающее значение, т.е. предполагается, что порядок колонок таблицы одинаков и не был изменён (например, для прайс-листов) или, как минимум, имеются одинаковые начальные колонки. Для совпадающих ячеек подсчитывается суммарная длина их значений. Если полученная длина в процентном отношении релевантности больше, чем суммарная длина значений всей строки, то считается, что строка изменена. В данном случае программа показывает измененные строки как удаленные строки и добавленные новые строки. Что ж, правильное описание, хотя и несколько непривычное, с человеческой точки зрения, но вполне соответствующее истине.

Метод сравнения Cell by cell, for lists #2.

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

Послесловие


Программа, как и было обещано ее создателями, распознает удаленные, измененные и добавленные строки. Необходимо немного потренироваться перед использованием Excel Compare и выбрать подходящий для вас метод сравнения, а также установить нужный процент релевантности. Целью данного тестирования являлось отображение результатов распознавания программой различных изменений, и способы их последующего описания. При тестировании процент релевантности не менялся. В зависимости от вида таблиц и метода сравнения процент релевантности необходимо подбирать опытным путём: для метода "Letter by letter" желательно ставить 90, а для трех остальных построчных методов - 75 (и меньше).

На данный момент программа имеет статус бета-версии и распространяется бесплатно, однако, как пишут авторы программы, "возможно версия 1.0 программы уже будет платной" (читай: "после окончания бета-тестирования программа перестанет быть бесплатной"). Так что всем, кому часто бывает необходимо сравнивать таблицы в формате Microsoft Excel, рекомендую скачать программу прямо сейчас. К сожалению, срок работы данной бета-версии ограничен 1 октября 2002 года. Пользователи, обнаруживающие ошибки и помогающие авторам в тестировании, а также предлагающие ценные дополнения, получают регистрацию программы бесплатно, уже роздано более десятка лицензий. Пишите авторам на адрес электронной почты info@formulasoft.com.

Excel Compare 0.9.7 Beta (размер 423Kb): линк