Ignoruj duplikaty i utwórz nową listę unikalnych wartości w programie Excel

Mam kolumnę wartości, które często pojawiają się jako duplikaty. Muszę utworzyć nową kolumnę, o unikalnych wartościach opartych na pierwszej kolumnie, w następujący sposób:

Column A   Column B  
a          a
a          b
b          c
c
c

Ta kolumna B będzie musiała pojawić się na innym arkuszu, w tym samym skoroszycie, więc zakładam, że będzie musiała pracować z formatem stylu sheet2!A1.

Nie miałem szczęścia z opcjami menu Dane/filtry, ponieważ wydaje się to działać tylko na komendzie. Potrzebuję kolumny B, aby aktualizować automatycznie, gdy nowa wartość jest wpisano do kolumny A.

Author: Willi Mentzel, 2012-11-09

12 answers

Odpowiedź Totero jest prawidłowa. Link jest również bardzo pomocny.

W zasadzie potrzebna formuła to:

B2=INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0))

Następnie naciśnij ctrl+shift+wprowadź (lub nie będzie działać przy użyciu formuły tablicy).

Dwie ważne rzeczy, o których należy pamiętać: pełna lista znajduje się w komórkach A2:A20, następnie ta formuła musi być wklejona w komórce B2 (nie B1, ponieważ to da ci okrągłe odniesienie). Po drugie jest to formuła tablicy, więc musisz nacisnąć ctrl+shift+wpisz lub nie będzie działać poprawnie.

 53
Author: achaudhr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-17 15:45:30

Jest dobry przewodnik jak to zrobić tutaj .

W zasadzie coś podobnego do:

=INDEX(Sheet1!$A$1:$A$20, MATCH(0, COUNTIF($B$1:B1,Sheet!$A$1:$A$20), 0))
 21
Author: Totero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-17 15:46:54

W moim przypadku excel został zamrożony przy użyciu formuły

B2 = INDEX($A$2:$a$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0))

Ponieważ było wiele wierszy (10000). Więc zrobiłem w inny sposób, który pokazuję poniżej.

Skopiowałem oryginalną listę do drugiej kolumny, a następnie za pomocą funkcji Excel "Usuń duplikaty" mogłem znaleźć listę unikalnych wartości.

Skopiowane ze strony Microsoft Office:

Select all the rows, including the column headers, in the list 

Chcesz filtr.

Kliknij górną lewą komórkę zakresu, a następnie przeciągnij do dolnej prawej komórki.

On the Data menu, point to Filter, and then click Advanced Filter.
In the Advanced Filter dialog box, click Filter the list, in place.
Select the Unique records only check box, and then click OK.

Filtrowana lista jest wyświetlana, a zduplikowane wiersze są ukryte.

On the Edit menu, click Office Clipboard.

Zostanie wyświetlone okno Zadań schowka.

Make sure the filtered list is still selected, and then click Copy Copy button.

Filtrowana lista jest podświetlona obwiedniami, a zaznaczenie pojawia się jako > > element u góry schowka.

On the Data menu, point to Filter, and then click Show All.

Oryginalna lista jest ponownie wyświetlana.

Press the DELETE key.

Oryginalna lista to usunięte.

In the Clipboard, click on the filtered list item.

Filtrowana lista pojawia się w tym samym miejscu, co lista oryginalna.

Źródło: Strona internetowa pakietu Microsoft Office (link USUNIĘTY, przyczyna nie działa)

 10
Author: Jesús Romera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-17 15:39:27

On a posortowana kolumna, Możesz również spróbować tego pomysłu:

B2=A2
B3=IFERROR(INDEX(A:A,MATCH(B2,A:A,1)+1),"")

B3 można wkleić. Wynik ten będzie równy 0, po ostatnim wyjątkowym meczu. Jeśli jest to niechciane, umieść kilka instrukcji IF, aby to wykluczyć.

Edit:

Łatwiejsze niż polecenie IF, przynajmniej dla wartości tekstowych:

B3=IFERROR(T(INDEX(A:A,MATCH(B2,A:A,1)+1)),"")
 5
Author: Jook,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-10 09:09:10

Aby usunąć duplikaty z kolumny

  1. sortowanie wartości w kolumnie A A - > Z
  2. wybierz kolumnę B
  3. Gdy Kolumna B jest nadal zaznaczona, w polu wprowadzania formuły wprowadź

    =IF(TRIM(A1)=TRIM(A2),"",TRIM(A1))
    
  4. Gdy Kolumna B jest nadal zaznaczona, wybierz Edytuj - > wypełnij - > w dół (w nowszych wersjach po prostu wybierz komórkę B1 i pociągnij w dół zewnętrzne okno, aby rozwinąć się w dół w kolumnie)

Uwaga: jeśli kolumna B znajduje się na innym arkuszu, możesz do Sheet1!A1 i Arkusz1!A2.

 5
Author: Allen King,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-19 18:56:39

W module arkusza dla arkusza zawierającego listę:

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rngDest As Range

    If Not Intersect(Target, Me.Columns(1)) Is Nothing Then

        Set rngDest = ThisWorkbook.Sheets("Sheet2").Range("A1")

        Me.Range(Me.Range("A2"), Me.Cells(Rows.Count, 1).End(xlUp)).AdvancedFilter _
            Action:=xlFilterCopy, CopyToRange:=rngDest, Unique:=True

    End If

End Sub
 2
Author: Tim Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-09 21:56:21

Mam listę nazw kolorów w zakresie A2: A8, w kolumnie B chcę wyodrębnić odrębną listę nazw kolorów.

Wykonaj poniższe kroki:

  • wybierz komórkę B2; napisz formułę, aby pobrać unikalne wartości z listy.
  • =IF(COUNTIF(A$2:A2,A2)=1,A2,””)
  • naciśnij Enter na klawiaturze.
  • funkcja zwróci nazwę pierwszego koloru.
  • aby zwrócić wartość dla reszty komórek, skopiuj tę samą formułę. Aby skopiować wzór z zakresu B3: B8, skopiuj formułę w komórce B2, naciskając klawisz CTRL + C na klawiaturze i wklej w zakresie B3: B8, naciskając klawisz CTRL+V.
  • Tutaj możesz zobaczyć wyjście, w którym mamy unikalną listę nazw kolorów.
 2
Author: Hitesh Rathor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-17 15:44:08

Więc do tego zadania najpierw posortuj dane w kolejności od A do Z LUB Z do A, a następnie możesz użyć jednej prostej formuły, jak podano poniżej:

=IF(A2=A3, "Duplicate", "Not Duplicate")

Powyższa formuła stwierdza, że jeśli dane kolumny A2 (A to kolumna, a 2 to numer wiersza) są podobne do A3 (A to kolumna, a 3 to numer wiersza), to wydrukuje duplikat, w przeciwnym razie wydrukuje Nie duplikat.

Rozważmy przykład, kolumna A składa się z adresu e-mail, w którym niektóre są zduplikowane, więc w kolumnie 2 użyłem powyższej formuły, która w wynikach wyświetlane Mi 2 duplikaty komórek jeden jest rząd 2 i rząd 6.

Jeden masz duplikaty danych wystarczy umieścić filtr na arkuszu i zrobić widoczne tylko duplikaty danych i usunąć wszystkie niepotrzebne dane.

 0
Author: Sachin Joshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-22 11:48:18

Szczerze mówiąc podążałem za tymi przykładami do tee i po prostu nie zadziałały. To, co zrobiłem po tym, jak bezskutecznie starałem się uruchomić Excela, to po prostu skopiowanie całej zawartości mojej kolumny do NotePad++, gdzie byłem w stanie znaleźć łatwe rozwiązanie w ciągu kilku minut. Spójrz na to: usuwanie zduplikowanych wierszy w Notepad++

Edit: oto krótki przegląd jak to zrobić w TextFX:

Wtyczki - > Menedżer wtyczek - > Pokaż Menedżera wtyczek - > Karta dostępna - >TextFX - > Install

Po zainstalowaniu programu TextFX w NotePad++ zaznaczamy cały tekst, z którego chcesz usunąć duplikaty, a następnie zaznaczamy: TextFX -> narzędzia TextFX -> Sortuj tylko unikalne linie

Następnie kliknij "Sortuj linie rozróżniaj wielkość liter" lub "Sortuj linie rozróżniaj wielkość liter" i wykona unikalne sortowanie.

 0
Author: brian cronrath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:46:24

Znajdź Tutaj wspomnianą powyżej formułę z kontrolą błędów

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"") 

Gdzie: (B2: B9 to dane kolumny, które chcesz wyodrębnić unikalne wartości, D1 to powyższa komórka, w której znajduje się Twoja formuła)

 0
Author: Sergey Ryvkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-21 09:40:29

Wszystko co musisz zrobić to : Przejdź do zakładki Dane Wybierz Zaawansowane w sortowaniu i filtrowaniu W akcji Wybierz: skopiuj do innej lokalizacji, jeśli chcesz nową listę - Kopiowanie w dowolne miejsce W zakresie listy wybierz listę, którą chcesz pobrać rekordy . A najważniejsze to sprawdzić : Tylko unikalne rekordy .

 0
Author: Abbas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-03 22:37:35

Nowoczesne podejście polega na rozważeniu przypadków, w których kolumna informacji pochodzi z serwisu internetowego, takiego jak źródło OData. Jeśli chcesz wygenerować Filtr wybierz pola z ogromnych danych, które mają replikowane wartości dla kolumny, rozważ poniższy kod:

var CatalogURL = getweb(currenturl)
                 +"/_api/web/lists/getbytitle('Site%20Inventory%20and%20Assets')/items?$select=Expense_x0020_Type&$orderby=Expense_x0020_Type";

/* the column that is replicated, is ordered by <column_name> */

    OData.read(CatalogURL,
        function(data,request){

            var myhtml ="";
            var myValue ="";

            for(var i = 0; i < data.results.length; i++)
            {
                myValue = data.results[i].Expense_x0020_Type;

                if(i == 0)
                {
                        myhtml += "<option value='"+myValue+"'>"+myValue+"</option>";
                }
                else
                if(myValue != data.results[i-1].Expense_x0020_Type)
                {
                        myhtml += "<option value='"+myValue+"'>"+myValue+"</option>";

                }
                else
                {

                }


            }

            $("#mySelect1").append(myhtml);

        });
 -6
Author: user4376001,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-17 15:41:29