Wyodrębnij unikalne wartości w Excelu za pomocą jednej funkcji

Spisie treści

W naszych poprzednich artykułach dowiedzieliśmy się, jak wyodrębnić unikalne wartości z zakresu za pomocą kombinacji różnych funkcji programu Excel. Chociaż działają fantastycznie, ale są też złożone, nie da się temu zaprzeczyć. Jeśli często wydobywasz unikalne wartości, te formuły mogą Cię zmęczyć. Oni również sprawiają, że plik jest ciężki i powolny.

W tym artykule dowiemy się, jak utworzyć funkcję zdefiniowaną przez użytkownika, która jako argument przyjmuje zakres i zwraca tylko unikalne wartości z tego zakresu. Możesz bezpośrednio skopiować kod do pliku i od razu zacząć go używać.

Kod VBA dla unikalnej funkcji:

Function UNIQUES(rng As Range) As Variant() Dim lista As New Collection Dim Ulist() As Variant 'Dodawanie każdej wartości rng do kolekcji. W przypadku błędu Wznów dalej dla każdej wartości W rng 'tutaj wartość i klucz są takie same. Kolekcja nie zezwala na duplikowanie kluczy, dlatego pozostaną tylko unikalne wartości. list.Add CStr(Value), CStr(Value) Next On Error GoTo 0 'Definiowanie długości tablicy do liczby unikalnych wartości. Ponieważ tablica zaczyna się od 0, odejmujemy 1. ReDim Ulist(list.Count - 1, 0) 'Dodawanie unikalnej wartości do tablicy. For i = 0 To list.Count - 1 Ulist(i, 0) = list(i + 1) Dalej 'Drukowanie tablicy UNIQUES = Ulist End Function 

Skopiuj kod do edytora VB programu Excel.

Korzystanie z funkcji UNIQUE

Powyższa funkcja jest wielokomórkową funkcją tablicową zdefiniowaną przez użytkownika. Oznacza to, że musisz wybrać zakres, w którym chcesz wydrukować unikatową listę, a następnie napisać formułę i nacisnąć kombinację klawiszy CTRL + SHIFT + ENTER.

W powyższym gifie mamy listę krajów. Teraz na liście jest wiele zduplikowanych krajów. Chcemy otrzymać tylko listę unikalnych krajów.

Aby to zrobić, wybierz zakres, w którym chcesz utworzyć unikatową listę. Teraz napisz tę formułę:

=UNIKALNE(A2:B7)

Naciśnij kombinację klawiszy CTRL+SHIFT+ENTER. I gotowe. Wszystkie unikalne wartości są wymienione w wybranym zakresie.

Notatka:Jeśli wybrany zakres jest większy niż unikalna wartość, zostaną wyświetlone błąd #N/D. Możesz go użyć jako wskazania końcowych unikalnych wartości. Jeśli nie widzisz #N/A na końcu listy, oznacza to, że może być więcej unikalnych wartości.

Wyjaśnienie kodu

W tej funkcji UD użyłem dwóch głównych koncepcji VBA. Kolekcje i funkcja tablicy zdefiniowanej przez użytkownika. Najpierw użyliśmy kolekcji, aby uzyskać unikalne wartości z podanego zakresu.

dla każdej wartości w rng list.Add CStr(Value), CStr(Value) Next next 

Ponieważ nie możemy wydrukować kolekcji na arkuszu, przenieśliśmy ją do innej tablicy UList.

for i = 0 To list.Count - 1 Ulist(i, 0) = list(i + 1) Dalej dalej 

Notatka:Indeksowanie tablicy VBA zaczyna się od 0, a indeksowanie kolekcji zaczyna się od 1. Dlatego odjęliśmy 1 dla tablicy w pętli for i dodaliśmy 1 do indeksowania kolekcji list.

W końcu wydrukowaliśmy tę tablicę na arkuszu.

Istnieje funkcja UNIQUE, która nie jest dostępna w programie Excel 2016, która robi to samo. Ta funkcja jest dostępna w programie Excel 2019. Dostęp do tej funkcji mają tylko członkowie programu poufnych informacji. Korzystając z tej techniki, możesz popisać się w biurze, że wyprzedzasz SM.

Więc tak, w ten sposób można stworzyć funkcję, która po prostu wydobywa unikalne wartości. Mam nadzieję, że wyjaśniłem to wystarczająco, abyście to zrozumieli. Jeśli masz jakieś konkretne pytania dotyczące tego lub innego pytania związanego z programem Excel VBA, zadaj je w sekcji komentarzy poniżej.

Kliknij poniższy link, aby pobrać działający plik:

Funkcja UNIKALNE

Jak korzystać z kolekcji VBA w programie Excel | Naucz się korzystać z kolekcji, które pomogą Ci uzyskać wyjątkowe wartości.

Utwórz funkcję VBA, aby zwrócić tablicę | Dowiedz się, jak utworzyć funkcję tablicową zdefiniowaną przez użytkownika, która zwraca tablicę.

Tablice w programie Excel Formuła|Dowiedz się, jakie tablice znajdują się w programie Excel.

Jak utworzyć funkcję zdefiniowaną przez użytkownika za pomocą VBA | Dowiedz się, jak tworzyć funkcje zdefiniowane przez użytkownika w programie Excel

Korzystanie z funkcji zdefiniowanej przez użytkownika (UDF) z innego skoroszytu przy użyciu VBA w programie Microsoft Excel | Użyj funkcji zdefiniowanej przez użytkownika w innym skoroszycie programu Excel

Zwróć wartości błędów z funkcji zdefiniowanych przez użytkownika za pomocą VBA w programie Microsoft Excel | Dowiedz się, jak zwrócić wartości błędów z funkcji zdefiniowanej przez użytkownika

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave