DiffEngineX

DiffEngineX
Deweloperzy DiffEngineX LLC
Pierwsze wydanie 1 lutego 1996
Napisane w C-ostre
System operacyjny Okna
Typ Porównanie danych
Licencja Zamknięte źródło
Strona internetowa florencesoft.com
Zrzut ekranu przedstawiający wyrównanie wierszy skoroszytu programu Excel.

DiffEngineX porównuje dwa arkusze kalkulacyjne Excel i zgłasza różnice między nimi. Porównuje komórki (formuły, stałe i obliczone wartości), komentarze, zdefiniowane zakresy (nazwy) oraz Visual Basic for Applications (VBA). Przed porównaniem komórka po komórce podobne wiersze i kolumny w dwóch arkuszach kalkulacyjnych muszą zostać wyrównane przez wstawienie pustych wierszy/kolumn. W przeciwnym razie identyczne komórki między dwoma skoroszytami zostaną pominięte. Działa w systemie Microsoft Windows.

Arkusze Excela

Arkusz kalkulacyjny to zasadniczo siatka złożona z wierszy i kolumn. Nowe wiersze i kolumny można wstawiać do skoroszytu z istniejącą zawartością. Wstawienie wiersza przesuwa całą zawartość pod nim w dół. Wstawienie kolumny przesuwa zawartość po niej w prawo.

Skoroszyty programu Excel obsługują zarówno względne, jak i bezwzględne odwołania do komórek, które odwołują się do innych komórek. Odwołania umożliwiają formule wykorzystanie zawartości innych komórek w swoich obliczeniach. Odwołanie bezwzględne odnosi się do określonej komórki ze stałym odwołaniem do wiersza i kolumny. To odwołanie nigdy się nie zmienia po skopiowaniu do innych komórek. Względne odniesienie odnosi się do komórki znajdującej się w pewnym przesunięciu od bieżącej komórki. Komórka, do której się odnosi, może się zmienić, gdy formuła zostanie skopiowana lub przeniesiona do innych komórek.

Porównaj arkusze kalkulacyjne / arkusze kalkulacyjne programu Excel: problemy

Jednym z problemów podczas porównywania skoroszytów programu Excel jest uwzględnianie wstawiania nowych wierszy i kolumn. Ta sama treść w dwóch skoroszytach może mieć różne współrzędne wiersza i kolumny. Dodatkowo odniesienia względne mogą mieć nowe współrzędne komórki, jeśli używają notacji A1 (np. =A1) zamiast R1C1 (np. =R[-1]C[-1]). Odwołanie do komórki A1 oznacza jedną komórkę w górę i jedną komórkę w lewo, gdy zostanie znalezione w komórce B2. Jeśli to odwołanie do komórki zostanie przesunięte do komórki C3, stanie się komórką B2. W notacji R1K1 odwołanie do komórki R[-1]C[-1] pozostaje takie samo niezależnie od miejsca, do którego zostało przeniesione.

Przed porównaniem arkusza kalkulacyjnego DiffEngineX wyrównuje wiersze i kolumny, aby upewnić się, że nie zostaną zgłoszone żadne fałszywe różnice. Puste wiersze i kolumny są wstawiane w celu wyrównania podobnej treści. Celem jest upewnienie się, że podobna treść ma takie same numery wierszy i kolumn w obu porównywanych skoroszytach, w przeciwnym razie nie tylko można porównać ze sobą niewłaściwe komórki, ale nawet jeśli dopasujesz właściwe komórki, będzie to trudne aby właściwie porównać ze względu na notację referencyjną A1.

Porównaj skoroszyty programu Excel — nie tylko widoczne komórki

Narzędzia do porównywania arkuszy kalkulacyjnych Excel muszą zmagać się nie tylko z porównywaniem komórek arkusza, ale także z komentarzami do komórek, zdefiniowanymi zakresami (nazwami) i osadzonymi makrami języka Visual Basic for Application (VBA). Każda komórka może zawierać formułę lub stałą, taką jak data, liczba lub ciąg znaków. Jeśli komórka zawiera formułę, DiffEngineX umożliwia użytkownikowi wybór między porównaniem rzeczywistego tekstu formuły a jej obliczoną wartością.

Wyrównanie dopasowanych rzędów i separacja niedopasowanych rzędów

Skoroszyty mogą zawierać wiersze danych podobnych do bazy danych, a nie formuły. Jeśli wiersze są wstępnie posortowane, DiffEngineX może je poprawnie porównać po wybraniu wyrównania wierszy. DiffEngineX wymaga od użytkownika określenia kolumn, które działają jako unikalne identyfikatory wierszy. Każda para wierszy o tych samych identyfikatorach zostanie wyrównana między dwoma porównywanymi skoroszytami. W takich przypadkach DiffEngineX musi wstawiać puste wiersze nie tylko w celu wyrównania podobnych wierszy, ale także w celu zapewnienia, że ​​niedopasowane wiersze (z różnymi identyfikatorami) zostaną sparowane z pustymi wierszami. Ułatwia to wykrycie dodawania nowych wierszy i usuwania starych wierszy, ponieważ odpowiadający im wiersz zawsze będzie pusty.

Maksymalny limit wierszy i czas działania programu Excel

Wprowadzenie programu Excel 2007 zwiększyło maksymalny limit wierszy do 1 048 576. Algorytm wyrównywania wierszy DiffEngineX działa w czasie m log n, gdzie m i n odnoszą się do liczby wierszy w dwóch porównywanych arkuszach kalkulacyjnych. Zazwyczaj najdłuższe wspólne algorytmy problemu podsekwencji działają w czasie kwadratowym i jako takie nie nadawałyby się do porównywania arkuszy kalkulacyjnych z setkami tysięcy wierszy.

Linki zewnętrzne

Zobacz też