Chciałbym porównać dwa arkusze kalkulacyjne Excel
Oba mają te same kolumny, w tej samej kolejności, ale nie te same wiersze.
Mam arkusz kalkulacyjny z 1000 wierszy i 50 kolumnami, w tym unikalny identyfikator każdego wiersza i dane osobowe (adres, numer telefonu itp.).
Chcę to porównać z tą samą bazą wyodrębnioną rok temu.
Moim celem jest poznanie wszystkich zmian (na przykład osoby, która zmieniła adres).
Próbowałem z arkuszem kalkulacyjnym (jak wyjaśniono tutaj: Porównaj dwa pliki programu Excel ), ale to nie działa, ponieważ w moim „nowym” pliku mam nowe wiersze i mam kilka wierszy w starym pliku, które nie są w nowym.
Arkusz kalkulacyjny jest porównywany z numerem wiersza programu Excel. Czy można porównać z pierwszą kolumną (unikalny identyfikator)?
Oto bardzo uproszczony przykład: https://filebin.net/g4w98251y9mfwug6
Są dwa arkusze reprezentujące moje dwa arkusze kalkulacyjne.
Jak widać, obie mają te same kolumny, ale:
- Istnieją wiersze na obu arkuszach bez zmian (cały wiersz jest taki sam)
- Istnieją wiersze na obu arkuszach, ale są zmiany (na moim przykładzie na pomarańczowo)
- Są wiersze, które są tylko w grudniowym arkuszu (nie muszę identyfikować tych wierszy)
- Są wiersze, które są tylko w styczniowym arkuszu (w moim przykładzie na pomarańczowo)
Kolor pomarańczowy jest dokładnie tym, czego chcę, ale w tym przykładzie mogę to zrobić ręcznie: porównując grudzień i styczeń. W prawdziwych arkuszach kalkulacyjnych nie mogę tego zrobić ręcznie, ponieważ jest zbyt wiele zmian, danych, linii, kolumn itp. I zrobię to co miesiąc.
Jest tylko jedna kolumna, której nigdy nie można zmienić: kolumna A.
Odpowiedzi:
Wygodnie jest, że arkusz kalkulacyjny używa 50 kolumn, ponieważ oznacza to, że kolumny 51, 52,… są dostępne. Twój problem można dość łatwo rozwiązać za pomocą „kolumny pomocniczej”, którą możemy umieścić w kolumnie
AZ
(która jest kolumną nr 52). Będę zakładać, że rząd 1 na każdym z arkuszy zawiera nagłówki (The słowaID
,Name
,Address
, itd), więc nie trzeba porównać te (ponieważ twoje kolumny są w takiej samej kolejności w obu arkuszy). Zakładam również, żeID
(unikalny identyfikator) znajduje się w kolumnieA
. (Jeśli tak nie jest, odpowiedź staje się trochę bardziej skomplikowane, ale wciąż dość łatwe). W komórceAZ2
(dostępnej kolumnie, w pierwszym rzędzie stosować dla danych), wprowadźwyświetlając wszystkie komórki od
B2
doAX2
.&
jest operatorem konkatenacji tekstu, więc jeśliB2
zawieraAndy
iC2
zawieraNew York
, toB2&C2
oceni naAndyNew York
. Podobnie powyższa formuła połączy wszystkie dane dla wiersza (z wyjątkiemID
), dając wynik, który może wyglądać mniej więcej tak:Formuła jest długa i nieporęczna do pisania, ale musisz to zrobić tylko raz (ale zanim to zrobisz, przeczytaj notatkę poniżej). Pokazałem, że to przechodzi,
AX2
ponieważ KolumnaAX
to kolumna nr 50. Oczywiście formuła powinna obejmować każdą kolumnę danych inną niżID
. Mówiąc dokładniej, powinna zawierać każdą kolumnę danych, którą chcesz porównać. Jeśli masz kolumnę dotyczącą wieku danej osoby, to (automatycznie?) Będzie ona inna dla każdego roku i nie będziesz chciał tego zgłaszać. Oczywiście kolumna pomocnicza, która zawiera formułę konkatenacji, powinna znajdować się po prawej stronie ostatniej kolumny danych.Teraz wybierz komórkę
AZ2
i przeciągnij ją / wypełnij w dół przez wszystkie 1000 wierszy. I zrób to w obu arkuszach.Na koniec w arkuszu, w którym chcesz wyróżnić zmiany (wydaje mi się, że z tego, co mówisz, że jest to najnowszy arkusz), wybierz wszystkie komórki, które chcesz wyróżnić. Nie wiem, czy to jest tylko kolumna
A
, lub po prostu kolumnaB
lub cały rząd (czyliA
przezAX
). Wybierz te komórki w wierszach od 2 do 1000 (lub tam, gdzie dane mogą ostatecznie dotrzeć) i przejdź do „Formatowania warunkowego” → „Nowa reguła…”, wybierz „Użyj formuły, aby określić, które komórki sformatować”, i wprowadźw polu „Formatuj wartości, w których ta formuła jest prawdziwa”. Pobiera
ID
wartość z bieżącego wiersza bieżącego arkusza („stycznia 2018 r.”) (W komórce$A2
), wyszukuje ją w kolumnieA
poprzedniego arkusza („grudnia 2017 r.”), Pobiera skonkatenowaną wartość danych z tego wiersza i porównuje ją do skonkatenowanej wartości danych w tym wierszu. (OczywiścieAZ
jest to kolumna pomocnicza,52
to numer kolumny pomocniczej i1000
jest ostatnim wierszem w arkuszu „Grudzień 2017”, który zawiera dane - lub nieco wyższy; np. Możesz wpisać1200
zamiast martwić się o dokładność.) Następnie kliknij „Format” i określ żądane formatowanie warunkowe (np. Pomarańczowe wypełnienie).Zrobiłem przykład z tylko kilkoma wierszami i tylko kilkoma kolumnami danych, z kolumną pomocniczą w kolumnie
H
:Zauważ, że rząd Andy'ego ma kolor pomarańczowy, ponieważ przeniósł się z Nowego Jorku do Los Angeles, a rząd Debry ma kolor pomarańczowy, ponieważ ona jest nowym wpisem.
Uwaga: jeśli wiersz może mieć wartości takie jak
the
iwreact
dwóch kolejnych kolumnach, a to może zmienić się w następnym roku nathere
iact
, nie byłoby to zgłaszane jako różnica, ponieważ po prostu porównujemy skonkatenowaną wartość, a to (thereact
) jest to samo na obu arkuszach. Jeśli martwisz się tym, wybierz znak, który prawdopodobnie nigdy nie będzie w twoich danych (np.|
), I wstaw go między pola. Więc kolumna pomocnika będzie zawieraćw wyniku czego dane mogą wyglądać następująco:
i zmiana zostanie zgłoszona, ponieważ
the|react
≠there|act
. Prawdopodobnie powinieneś się tym przejmować, ale w oparciu o to, jakie faktycznie są twoje kolumny, możesz mieć powód, aby mieć pewność, że nigdy nie będzie to problemem.Gdy zaczniesz działać, możesz ukryć kolumny pomocnicze.
źródło
Przejdź do zakładki Widok i kliknij Nowe okno. Przejdź do nowego okna i kliknij obok siebie. Możesz zsynchronizować przewijanie, klikając Synchroniczne przewijanie. Sprawdź załączony obraz:
Przewijanie synchroniczne zapewnia przewijanie różnych arkuszy jednocześnie. Przełączanie przycisku umożliwia przeglądanie obu razem i przewijanie tylko jednego arkusza roboczego.
źródło
Ok, więc możesz zrobić jedną z dwóch rzeczy.
1.- Rozwiązaniem OOTB jest przejście do „Dane” -> „Narzędzia danych” -> „Usuń (To jest bezpośrednie tłumaczenie z hiszpańskiego) Duplikaty”. W ten sposób musisz dołączyć obie tabele, a skończysz tylko na danych, które zostały zmienione i tylko na unikatach. Aby odfiltrować użycie
CountIf
unikalnych identyfikatorów, usuń zaznaczenie tego, co zostało policzone jako 1. Zamów według niepowtarzalnego identyfikatora, a zobaczysz, co zostało zmienione.2.-Użyj tej formuły
IF(Index("rangetoreturn";Match("CellofUniqueID";"Rangeofuniqueidtolookinto";0))<>"OneOftheCellthatcontainsthesameasRangeToReturn";"Info Has Changed";"InfoHasNotChanged")
Ta formuła może być ułożona w prawo i w dół. Otrzymasz więc tabelę z warunkiem if, z taką samą ilością linii jak tabela „CellofUniqueID”. Pozycja „Info uległa zmianie”, powie ci, która komórka w drugiej tabeli zmieniła swoją zawartość. Więc użyj tej formuły w nowym arkuszu i stwórz nowy stół. Następnie spójrz na filtry i odznacz „InfoHasNotChanged” (lub dowolne słowo, którego chcesz użyć).
„rangetoreturn” i „Rangeofuniqueidtolookinto” pochodzą z jednej tabeli (lub arkusza), a „CellofUniqueID” z drugiej tabeli.
Twoje zdrowie
źródło
CountIf
i filtrować według 2 wystąpień, jeśli masz 1 wystąpienie, oznacza to, że informacje się nie zmieniły. Na koniec zamów według unikalnego identyfikatora. Wrzuć także flagę do nowej kolumny kolumn, abyś wiedział, z której tabeli pochodzą twoje informacje. Teraz możesz wyraźnie zobaczyć, jakie są różnice