Like

Google Sheets oferuje w menu funkcję usuwania duplikatów, ale jeśli trzeba to robić “z palca” w menu, to będzie to mało wydajne. Jeśli dane są importowane lub jeśli chcemy zachować je również w oryginalnej postaci, dobrze jest skorzystać z funkcji UNIQUE. Za chwilę zobaczycie, że może ona mieć więcej zastosowań niż zwykłe wycinanie duplikatów.

W tym wpisie używam listy bohaterów Gry o Tron. Jeśli chcecie się samodzielnie pobawić – tu leży wspomniany plik. Żeby móc go edytować, potrzebujecie zrobić własną kopię (Plik –> Utwórz kopię)

Usuń duplikaty funkcją UNIQUE

Po lewej stronie jest lista w której na czerwono są postaci występujące więcej niż 1 raz. Po prewej, ta lista jest przycięta funkcja =UNIQUE(A3:A)

Jeśli interesuje Was w jaki sposób zostały zaznaczone duplikaty – zobaczcie wpis poświęcony temu tematowi.

Funkcja UNIQUE, która pokazuje wyłacznie komórki lub wiersze pojawiające się raz w zakresie, ma prostą składnię:

=UNIQUE(zakres)

Co istotne, możemy tu wrzucić pojedynczą kolumnę jak w poprzednim przypadku, a możemy również wziąć pod uwagę większe zestawy kolumn. Jeśli np. szukamy osób to nie wystarczy nam wypatrzyć powtarzających się np. Imion. Przy dłuższych listach nie wystarcza też samo nazwisko. Czasem trzeba sięgnąć nawet po trzecią kolumnę (np. rok urodzenia) czy inny identyfikator.

Poniżej przykład tej samej listy, ale rozrzuconej na kilka kolumn i następnie pozbawionej duplikatów.

=UNIQUE(F3:H26) bierze na raz 3 kolumny i porównuje je ze sobą.

Usuń duplikaty funkcją z menu

Jeśli dane są statyczne, albo pracujemy na kopii, możemy również użyć opcji z menu Dane —> Usuń duplikaty.

Jak widać na screenie, możemy zdecydować jaka część z zaznaczonych kolumn ma być brana pod uwagę przy analizowaniu duplikatów.

Wyodrębnij duplikaty

Przy długich zabałaganionych listach, kiedy powtórzeń jest sporo, możemy potrzebować wydobyć duplikaty by się nimi zająć.

Tu znów przyda się funkcja UNIQUE, jak i funkcja COUNTIF, której używaliśmy do podświetlania duplikatów.

Pierwszy etap to sprawdzenie, które pozycje mają duplikaty.

=if( countif(A:A;A3)>1; A3; “” )

Tłumaczę już co się dzieje w komórce D3 na tym etapie.

Funkcja COUNTIF ma za zadanie zliczyć w ile razy wartość A3 występuje w zakresie A:A. Funcja IF sprawdza: Jeśli wartość z A3 występuje więcej niż 1 raz to podaje wartość z A3 (np. Eddard “Ned” Stark), natomiast jeśli występuje tylko raz to zostaw pole puste, czyli “”. Ponieważ Eddard jest tylko raz, to na razie w A3 mamy pusto.

Drugi etap to rozmnożenie funkcji na całą kolumnę i przycięcie jej.

=Unique ( ArrayFormula ( if countif ( A:A;A3:A )>1; A3:A; “” )))

Teraz, rozszerzamy działanie IF i COUNTIF przy pomocy funkcji ARRAYFORMULA (przedstawionej w osobnym wpisie). Sprawdzamy dla całej kolumny (A:A), czy wartość z zakresu A3:A występuje więcej niż 1 raz. Jeśli tak to ją wpisuje.

Jednak nie chcemy żeby wartości podwojone walały się nam wielokrotnie po całej kolumnie. Chcemy je widzieć tylko raz i tu na górze. Do tego służy nam funkcja UNIQUE. Ona zbiera całą kolumnę zrobioną przez ARRAYFORMULA i dla niej “w pamięci” eliminuje duplikaty i wpisuje jeden pod drugim.

Ta pusta komórka wynika z faktu, że ARRAYFORMULA zauważyła, że puste w kolumnie A, również puste komórki występują więcej niż jeden raz.

WAŻNE: W ramach jak będziemy rozwiązywać problem podwojonych wierszy, nasza lista duplikatów będzie się na bieżąco skracać.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.