zorbas81
Goto Top

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

Content-Key: 90501

Url: https://administrator.de/contentid/90501

Printed on: April 26, 2024 at 09:04 o'clock

Member: Logan000
Logan000 Jun 24, 2008 at 09:25:14 (UTC)
Goto Top
Moin

Ich denke damit wird Du in Excel nichts.
Das ist was für eine Datenbank und SQL.

Gruß L.
Member: Supaman
Supaman Jun 24, 2008 at 09:32:48 (UTC)
Goto Top
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.
Member: Zorbas81
Zorbas81 Jun 24, 2008 at 09:50:39 (UTC)
Goto Top
Ich danke euch vielmals für eure Mühe, ich werde mich jetzt mal mit euren Ideen Ideen ausseinandersetzen und das Beste versuchen...
Vielen Dank

Grüße

Alex
Member: bastla
bastla Jun 24, 2008 at 10:41:40 (UTC)
Goto Top
Hallo Zorbas81 und willkommen im Forum!

Das Problem hatte schon mal jemand face-wink: http://www.excelformeln.de/formeln.html?welcher=84

Grüße
bastla
Member: Logan000
Logan000 Jun 24, 2008 at 11:24:37 (UTC)
Goto Top
Ich mach mich nass.

Das Problem hatte schon mal jemand
und offensichtlich sonst keine Hobbys. face-wink
Member: Zorbas81
Zorbas81 Jun 24, 2008 at 12:42:55 (UTC)
Goto Top
WOW diese verlinkte Seite hilft mir ungemein weiter..
Die listet sogar die Ergebnisse ohne mehrfachnennung auf.
GENIAL !

DANKE DIR !!!

Grüße
Alex
Member: Zorbas81
Zorbas81 Jul 02, 2008 at 13:33:16 (UTC)
Goto Top
Ich bins nochmal... face-wink

Vorab: Alles funktioniert einwandfrei... ich habe nur eine Verständnisfrage zu den Codes aus diesem link:

http://www.excelformeln.de/formeln.html?welcher=84

Wäre wirklich phantastisch, wenn mir jemand diese Zeile erklären könnte:

=WENN(ZEILE(A1)>MAX(C:C);"";INDEX(A:A;VERGLEICH(ZEILE(A1);C:C;0)))


ich verstehe nicht warum ZEILE(A1) stehen muss...
und auch nicht warum >MAX(C:C)


Für jeden Tipp bin ich euch sehr dankbar...

Viele Grüße
Alex
Member: Logan000
Logan000 Jul 02, 2008 at 14:16:49 (UTC)
Goto Top
Moin

=WENN(ZEILE(A1)>MAX(C:C);"";...
So wie ich das sehe geht diese WENN Bedingung davon aus das Spalte A Fortlaufend numeriert ist.

... INDEX(A:A;VERGLEICH(ZEILE(A1);C:C;0)))
Da schnall ich ab.

Gruß L.
Member: bastla
bastla Jul 02, 2008 at 16:07:37 (UTC)
Goto Top
Hallo Zorbas81 und Logan000!

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)  
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:
E1: =VERGLEICH(ZEILE(A1);C:C)
F1: =INDEX(A:A;E1)
Grüße
bastla
Member: Zorbas81
Zorbas81 Jul 03, 2008 at 07:50:18 (UTC)
Goto Top
Vielen vielen Dank Bastla,

jetzt leuchtets auch mir ein!!! face-wink

Danke dir nochmal..

Grüße
Alex