Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelte Werte ignorierern, kopieren und zählen

Doppelte Werte ignorierern, kopieren und zählen
03.02.2017 14:28:58
Mike
Liebes Forum,
Ich stehe wieder mal vor einem Problem und wollte euch um einen Ratschlag bitten:
In meiner Datei befinden sich im Bereich A3:A20000 verschiedenste Anlagenbezeichnungen, wobei die einzelnen Bezeichnungen auch öfters vorkommen können.
Mein Ziel wäre nun in Spalte B (vorhandene Anlagen)sämtliche Anlagenbezeichnungen zu erhalten, allerdings jede nur ein Mal. Also so etwas wie "mehrfache Einträge löschen" allerdings eben nicht löschen, sondern nur die einzelnen Einträge von Spalte A nach Spalte B kopieren.
In einem weiteren Schritt wäre toll, wenn ich in Spalte C (Häufigkeit) zu jeder vorkommenden Anlagenbezeichnung die Anzahl erhalten würde, wie oft der jeweilige Eintrag in Spalte A vorhanden ist.
Ich weiß, dass dies über Spezialfilter umsetzbar wäre, allerdings können sich die Einträge innerhalb der Spalte A verändern, und somit wäre eine Formellösung / VBA für meine Zwecke besser geeignet. Aufgrund der großen Datenmenge ist eine Lösung über "WennFehler" und "Index" eher nicht ziehlführend.
Im Anhang bzw. zum besseren Verständnis eine Beispieldatei. Die Anlagendaten sind zwar nur beispielhaft, allerdings sollte meine Frage dadurch (hoffentlich) verständlicher erscheinen.
https://www.herber.de/bbs/user/111149.xlsx
Vielen Dank für eure Hilfe.
LG

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Werte ignorierern, kopieren und zählen
03.02.2017 14:41:53
UweD
Hallo
mit http://www.excelformeln.de/formeln.html?welcher=194

Tabelle1
 ABC
1AnlagenbezeichnungAnlagenbezeichnungHäufigkeit
2Anlage 1Anlage 13
3Anlage 2Anlage 22
4Anlage 3Anlage 34
5Anlage 4Anlage 41
6Anlage 2Anlage 51
7Anlage 5Anlage 101
8Anlage 1  
9Anlage 3  
10Anlage 3  
11Anlage 3  
12Anlage 1  
13Anlage 10  
14   

verwendete Formeln
Zelle Formel Bereich N/A
B1=A1  
B2:B13{=WENNFEHLER(INDEX(A:A;VERGLEICH(1;(ZÄHLENWENN(B$1:B1;A$1:A$99)=0)*(A$1:A$99<>"");0));"")}$B$2 
C2:C13=WENN(B2<>"";ZÄHLENWENN(A:A;B2);"")  
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 21.10 einschl. 64 Bit


LG UweD
Anzeige
AW: Doppelte Werte ignorierern, kopieren und zählen
03.02.2017 15:14:21
Mike
Hallo UweD, vielen Dank für deine rasche Antwort. Ich habe diese Methodik auch bereits probiert, leider ist es bei knapp 20000 Zeilen eine etwas langwierige Prozedur.
Gibt es vielleicht noch eine Lösung, welche die Daten etwas schneller bearbeitet?
Vielen Dank.
Lg
Frage hier
03.02.2017 15:20:21
Max2
Hallo erstmal.
Wie viele verschiedene Anlagen gibt es denn ca. ?
10; 20; 100; 20000 ?
Soll es über Formel, so wie es UweD schön gelöst hat, funktionieren oder per VBA?
Kann man den Anlagen ID´s geben oder nicht?
AW: Frage hier
03.02.2017 15:25:25
Mike
Hallo,
es werden in Summe ca. 9000 verschiedne Anlagen sein. ID´s zu vergeben wäre möglich.
Ob Formel oder VBA ist egal, hauptsache der Prozess dauert nicht lange :-)
Danke, LG
Anzeige
AW: per VBA
03.02.2017 15:32:52
UweD
ginge es so...
in ein Modul
Sub Anlagen()
    Dim Sp1 As Integer, Sp2 As Integer, LR As Long, EZ As Integer
    Sp1 = 1 'Quellspalte A 
    Sp2 = 2 'Zielspalte B 
    EZ = 3 'ab Zeile 3 
    Columns(Sp2).Resize(, 2).ClearContents
    Columns(Sp1).Copy Columns(Sp2)
    Columns(Sp2).RemoveDuplicates Columns:=1, Header:=xlNo
    LR = Cells(Rows.Count, Sp2).End(xlUp).Row 'letzte Zeile der Spalte 
    Cells(1, Sp2 + 1) = "Häufigkeit"
    With Range(Cells(EZ, Sp2 + 1), Cells(LR, Sp2 + 1))
        .FormulaR1C1 = "=COUNTIF(C[-2],RC[-1])"
        .Value = .Value
    End With
End Sub

LG UweD
Anzeige
AW: per VBA
03.02.2017 16:22:40
Mike
Wow, vielen Dank, funktioniert wunderbar... :-)
Danke für die Rückmeldung owT
03.02.2017 16:48:15
UweD

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige