2 Spalten mit Sachnummern vergleichen und auswerten
Hallo,
ich möchte in excel zwei Spalten mit Sachnummern vergleichen. Die eine Spalte ist die vollständige Liste mit allen Nummern, und die andere ist nur mit einem Teil dieser Nummern befüllt. In einer dritten Spalte sollen jetzt nur die Nummern aufgelistet werden, die noch fehlen!
Bsp:
Spalte 1 Spalte 2
A11111 A33333
A22222 A44444
A33333
A44444
Als Lösung soll jetzt nur das kommen:
A11111
A22222
Die Anzahl der Zeilen belaufen sich auf ca. 1000 !
Bin für jede unterstützung sehr dankbar.
Grüße
Alex
ich möchte in excel zwei Spalten mit Sachnummern vergleichen. Die eine Spalte ist die vollständige Liste mit allen Nummern, und die andere ist nur mit einem Teil dieser Nummern befüllt. In einer dritten Spalte sollen jetzt nur die Nummern aufgelistet werden, die noch fehlen!
Bsp:
Spalte 1 Spalte 2
A11111 A33333
A22222 A44444
A33333
A44444
Als Lösung soll jetzt nur das kommen:
A11111
A22222
Die Anzahl der Zeilen belaufen sich auf ca. 1000 !
Bin für jede unterstützung sehr dankbar.
Grüße
Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90501
Url: https://administrator.de/contentid/90501
Ausgedruckt am: 16.11.2024 um 05:11 Uhr
10 Kommentare
Neuester Kommentar
auf die schnelle würde ich das so lösen:
jede spalte in ein eigenes tabllenblatt kpieren und um eine neue spalte "marker" ergänzen
spalte1 | spalte1-marker
A11111 A
A22222 A
A33333 A
A44444 A
spalte2 | spalte2-marker
A33333 B
A44444 B
beide spalten aus beiden tabellenblättern in ein neues tabellenblatt untereinander kopieren
daten sortieren nach 1. spalte, dann nach 2ter spalte, dann sieht das ganze so aus:
A B C
A11111 A
A22222 A
A33333 A
A33333 B
A44444 A
A44444 B
dann in die neue spalte C einer verlgiechsformel einfügen:
=wenn (B1="A" and B2="B";;"X")
sinngemäß: wenn A und B untereinanderstehen wird in "C" ein "x" gesetzt.
das könnte man noch durch eine weitere abfrage erweitern wo man die werte in der "A" spalte vergleicht, bevor man das "x" setzt. wenn die daten sauber sind, sprich es gibt immer einen A wert, aber nicht zu jeden A wert einen B wert, ist es nicht notwendig.
mit einem weiteren sortierlauf sollte sich das ganze filtern lassen.
jede spalte in ein eigenes tabllenblatt kpieren und um eine neue spalte "marker" ergänzen
spalte1 | spalte1-marker
A11111 A
A22222 A
A33333 A
A44444 A
spalte2 | spalte2-marker
A33333 B
A44444 B
beide spalten aus beiden tabellenblättern in ein neues tabellenblatt untereinander kopieren
daten sortieren nach 1. spalte, dann nach 2ter spalte, dann sieht das ganze so aus:
A B C
A11111 A
A22222 A
A33333 A
A33333 B
A44444 A
A44444 B
dann in die neue spalte C einer verlgiechsformel einfügen:
=wenn (B1="A" and B2="B";;"X")
sinngemäß: wenn A und B untereinanderstehen wird in "C" ein "x" gesetzt.
das könnte man noch durch eine weitere abfrage erweitern wo man die werte in der "A" spalte vergleicht, bevor man das "x" setzt. wenn die daten sauber sind, sprich es gibt immer einen A wert, aber nicht zu jeden A wert einen B wert, ist es nicht notwendig.
mit einem weiteren sortierlauf sollte sich das ganze filtern lassen.
Hallo Zorbas81 und willkommen im Forum!
Das Problem hatte schon mal jemand : http://www.excelformeln.de/formeln.html?welcher=84
Grüße
bastla
Das Problem hatte schon mal jemand : http://www.excelformeln.de/formeln.html?welcher=84
Grüße
bastla
Hallo Zorbas81 und Logan000!
Aus MAX(C:C) ergibt sich die Anzahl der Zellen, welche in der Spalte A, aber nicht auch in der Spalte B vorkommen (ohne Mehrfachzählung in Spalte A).
Die Formel
ab C2 sorgt für diese Zählung, indem sie zu jeder Zelle in Spalte A, welche
- nicht leer ist,
- nicht in B und
- nicht vorher schon in der Spalte A vorkommt,
eine laufende Nummer ermittelt (siehe die Bedingungen im ODER()-Teil). Die höchste dieser Nummern (also das Maximum der Spalte C) gibt demnach an, wie viele Ergebniswerte in Spalte D angezeigt werden müssen.
Da ich nun schon mal dabei bin, auch noch kurz zu VERGLEICH() und INDEX():
VERGLEICH() bewirkt, dass der Reihe nach (von 1 beginnend, daher kann auch hier A1 durch eine beliebige andere Zelle der Zeile 1 ersetzt werden) die Zeilen in der Spalte C gefunden werden, welche auf auszugebende Zellen in Spalte A hinweisen. Deren Zeilennummern ermöglichen dann, mittels INDEX() aus der Spalte A die Werte zu lesen.
Besser nachvollziehen lässt sich das, wenn man/frau sich zB in Spalte E und F die folgenden Teile anzeigen lässt:
Grüße
bastla
ich verstehe nicht warum ZEILE(A1) stehen muss...
Muss es auch nicht - man/frau kann auch D1 oder X1 verwenden; Sinn ist es, eine laufende Zeilennummer (ab 1) zu erhalten, um zu erkennen, ab wann keine Werte mehr ausgegeben werden sollen.Aus MAX(C:C) ergibt sich die Anzahl der Zellen, welche in der Spalte A, aber nicht auch in der Spalte B vorkommen (ohne Mehrfachzählung in Spalte A).
Die Formel
=WENN(ODER(A2="";ZÄHLENWENN(B:B;A2)>0;ZÄHLENWENN(A$1:A1;A2)>0);"";MAX(C$1:C1)+1)
- nicht leer ist,
- nicht in B und
- nicht vorher schon in der Spalte A vorkommt,
eine laufende Nummer ermittelt (siehe die Bedingungen im ODER()-Teil). Die höchste dieser Nummern (also das Maximum der Spalte C) gibt demnach an, wie viele Ergebniswerte in Spalte D angezeigt werden müssen.
Da ich nun schon mal dabei bin, auch noch kurz zu VERGLEICH() und INDEX():
VERGLEICH() bewirkt, dass der Reihe nach (von 1 beginnend, daher kann auch hier A1 durch eine beliebige andere Zelle der Zeile 1 ersetzt werden) die Zeilen in der Spalte C gefunden werden, welche auf auszugebende Zellen in Spalte A hinweisen. Deren Zeilennummern ermöglichen dann, mittels INDEX() aus der Spalte A die Werte zu lesen.
Besser nachvollziehen lässt sich das, wenn man/frau sich zB in Spalte E und F die folgenden Teile anzeigen lässt:
E1: =VERGLEICH(ZEILE(A1);C:C)
F1: =INDEX(A:A;E1)
bastla