Anzeige

Am Puls von Microsoft

Anzeige

[gelöst] Excel soll zwei Tabellen vergleichen und je nach Resultat andere Zahlenwerte ausgeben

rstuber

Herzlich willkommen
Hallo liebe Community

Ich habe da ein etwas verzwicktes(?) Excel-Problem...

Ausgangslage: Ich habe zwei Excel-Dokumente, die grosse Haupt-Datei „ZincJobs.xlsx“ soll prüfen ob in der „Tracker-Datei.xlsx“, welche weniger Datensätze enthält, eine bestimmte Artikel-Nummer enthalten ist.

KANN diese dort gefunden werden UND steht in der Spalte „R“ bei der jeweiligen Zeile in der „ZincJobs.xlsx“ auch noch der Begriff „Archiviert“ DANN soll in der Spalte „C“ eine „1“ notiert werden.

KANN die Artikel-Nummer NICHT gefunden werden und es steht in der Spalte „R“ „Archiviert“, soll in der Spalte "C" eine „0“ stehen.

KANN die Artikel-Nummer NICHT gefunden werden und es steht in der Spalte „R“ irgend etwas anderes, soll in der Spalte "C" eine „2“ stehen.

Die einzelnen Abfragen an und für sich habe ich hinbekommen (Wenn, Dann). Jedoch bekomme ich die Verschachtelung der Abfragen nicht gebacken…

So in der Art hätte ich gehofft, dies realisiert zu bekommen:
=WENN((ISTNV(VERGLEICH(AG2;[LaunchTracker.xlsx]pmf_cancelled!$J:$J;0)));WENN(R2<>"Archived";"0";"1");"2")

Aber wahrscheinlich sehe ich es einfach nicht mehr, wo sich ein (Denk-)Fehler eingeschlichen hat…

Vielen Dank schon einmal für Euer Feedback.

Liebe Grüsse

rstuber
 
Zuletzt bearbeitet:
Anzeige
Du könntest in den Bedingungen der WENN-Funktionen mit UND- oder ODER-Funktionen arbeiten oder einfach mehrere WENN-Funktionen verschachteln:

Für die Zelle C2 sähe die Formel dann so aus:
= WENN(Artikelnummer gefunden; WENN(R2 = "Archiviert"; 1); WENN(R2 = "Archiviert"; 0; 2))

Dann würde in der Zelle C2 allerdings nichts eingetragen werden, falls die Artikelnummer gefunden wird, aber in R2 nicht "Archiviert" steht.

Die Suche nach der Artikelnummer könntest Du u.U. auch mit der SVERWEIS-Funktion durchführen. https://support.office.com/de-de/article/SVERWEIS-Funktion-0BBC8083-26FE-4963-8AB8-93A18AD188A1

Deine Formel paßt jedenfalls nicht zu Deinem Problem, denn im Dann-Teil, Deiner äußeren WENN-Funktion, die auf die Artikelnummer prüft, setzt Du die Werte 0 und 1, wobei jedoch 0 für eine nicht gefundene und 1 für eine gefundene Artikelnummer steht. Das paßt also schonmal nicht. Außerdem erwischst Du mit Deiner Verschachtelung nicht alle gewünschten Fälle, denn es wird entweder 0,1 oder 2 in die Zelle geschrieben, auch im o.g. Fall, bei dem die Zelle leer bleiben sollte.
 
Zuletzt bearbeitet:
Hallo build10240

Vielen Dank für die prompte Antwort... ich habe Deinen Input umzusetzen versucht, mit teilweisigem Erfolg.

=WENN(ISTNV(VERGLEICH(AG2;[LaunchTracker.xlsx]pmf_cancelled!$J:$J;0));WENN(R2="Archived";1);WENN(ODER(R2="Withdrawn";R2="Cancelled");0;2))

Wird die Art.-Nr. gefunden und einer der definierten Zustände "Archived", "Cancelled" oder "Withdrawn" in "R" trifft zu, funktioniert auch alles wunderbar.

Doch ein kleiner Stolperstein scheint es doch noch zu geben... wird die Art.-Nr. nicht gefunden und ein anderer Zustand als "Archived" steht in "R", so spukt die schöne Formel nur "FALSCH" aus...

Müsste ich da überall wo es ein WENN gibt, noch eine erneute Vergleichsabfrage mit der LaunchTracker-Datei einfügen, damit es zu keinem "Fehler" kommt?
 
So wie ich das verstehe, entspricht der Sonst-Teil der äußeren WENN-Funktion, also WENN(ODER(R2="Withdrawn";R2="Cance lled");0;2), dem "Artikelnummer nicht gefunden" Oder ist es andersherum? Im Sonst-Teil der äußeren Wenn-Funktion prüfst Du doch gar nicht auf "Archived", sondern auf "Withdrawn" oder "Cancelled".

Wie schon geschrieben regelt die Formel so nur drei Fälle, nämlich die, welche Du im ersten Beitrag beschrieben hast. Die WENN-Funktion im Dann-Teil der äußeren WENN-Funktion, also WENN(R2="Archived";1), hat keinen Sonst-Teil.
Falls ISTNV(VERGLEICH(AG2;[LaunchTracker.xlsx]pmf_cancelled!$J:$J;0)) WAHR zurückgibt, aber in R2 nicht "Archived" steht, gibt die Formel FALSCH aus. Wenn Du willst, daß die Zelle in diesem Fall leer bleibt, mußt Du WENN(R2="Archived";1;"") benutzen.

Schreibe Dir mal alle Fälle mit den Bedingungen auf ein Blatt Papier. Wenn Du mehr als vier Fälle unterscheiden mußt, benötigst Du noch mehr Schachtelebenen und ggf. weitere Und- oder Oder-Funktionen in den Bedingungen.

Du kannst Dir auch mal ISTNV(VERGLEICH(AG2;[LaunchTracker.xlsx]pmf_cancelled!$J:$J;0)) in einer eigenen Spalte ausgeben lassen, um zu testen, ob die Funktion das ausgibt, was Du erwartest.
 
Hallo build102450

Besten Dank für Deinen umfassenden Kommentar. Nee, Du hast es schon recht interpretiert gehabt... ich habe gerade gemerkt, es reicht mit den drei Fällen, ich habe jetzt den noch fehlenden Wert Uploader to upload noch mir Archived kombiniert, welches den selben Status bekommen soll. Somit reichen diese drei Fälle...

Letztlich wars aber die "1" im Teil WENN(R2="Archived";1;""), welches mein Problem nun beiseite schafft! :)

=WENN(ISTNV(VERGLEICH(AG2;[LaunchTracker.xlsx]pmf_cancelled!$J:$J;0));WENN(ODER(R2="Archived";R2="Uploader to upload");1;"");WENN(ODER(R2="Withdrawn";R2="Cancelled");0;2))

Vielen Dank für die vielen Denkanstösse... nun kanns weitergehen!

Lieber Gruess und noch einen guten Wochenstart, hoffentlich auch mit einem guten Erlebnis beginnend... ;)
 
Anzeige
Oben