186 Aufrufe
Gefragt in Tabellenkalkulation von
=WENN(A2<>"";WENN(ISTFEHLER(SVERWEIS(A2;Old_Price_DSSP;3;));WENN(ISTFEHLER(SVERWEIS(A2;Old_Price_DSSV;3;));0;SVERWEIS(A2;Old_Price_DSSV;3;));SVERWEIS(A2;Old_Price_DSSP;3;));0)

5 Antworten

0 Punkte
Beantwortet von
Und für alle die jetzt Fragen schicken:

Ja, Die Tabs sind da und heißen auch so und ja, die Zahl aus A2 findet sich auch in den Tabs wieder und ja, A2 ist <> " " . Letztendlich verstehe ich die ISTFEHLER Funktion nicht. Irgendwie schaut für mich die Formel so aus als würde sie sich 4x wiederholen ....
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Surfbasti,

wenn A2 nicht leer ist, sucht die Formel in Tabelle Old_Price_DSSP nach dem Wert aus A2. Falls dieser gefunden wird, wird als Ergebnis aus dieser Spalte 3 dieser Tabelle ausgegeben.

Wird der Wert aus A2 nicht in der Tabelle gefunden, wird als nächstes in Old_Price_DSSV gesucht und im Fall dass er gefunden wird, der entsprechende Inhalt aus Spalte 3 dieser Tabelle ausgegeben. Andernfalls 0,

Wenn also die Formel immer 0 ausgibt ist entweder A2 leer oder der Inhalt aus A2 steht weder in Old-Price_DSSP, noch in Old_Price_DSSV

Nun nimmt der SVERWEIS in deiner Formel bei erfolgreicher Suche immer den Wert aus Spalte 3. Wenn die Tabellen Old_Price_DSSP und Old_Price_DSSV keine drei Spalten hat, gibt es auch immer einen Fehler und damit kommt immer die 0 als Ausgabe.

Also gibt es  zwei mögliche Fehler: Der gesuchte Wert aus A2 ist gar nicht in den Suchtabellen vorhanden, oder der Spaltenindex ist größer, als die Tabellen breit sind.

Gruß computerschrat
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
.. noch ein Nachtrag:

So wie die Formeln geschrieben sind, greifen sie auf eine über Namen definierte Matrix zu. Aus deiner Ergänzung schließe ich, du möchtest in einem anderen Blatt suchen. Das geht nicht so, wie du es geschrieben hast, sondern der Bezug müsste die Tabelle komplett spezifizieren. Wenn also die gesuchten Daten in Blatt Old_Price_DSSP in B1..E5 stehen also:

(SVERWEIS(A2;Old_Price_DSSP!B1:E5;3;))

Gruß computerschrat
0 Punkte
Beantwortet von
Vielen Dank für die Erklärung, Dann habe ich die Formel also doch richtig verstanden. Jetzt kommt aber genau mein Problem. Der Wert aus A2 ist sowohl in der einen als auch in der anderen Tabelle vorhanden. Was im Augenblick meine Vermutung ist, ist das die Daten welche direkt aus der Datenbank den ERP System gezogen werden von Excel nicht als Werte erkannt werden und somit diese auch nicht gefunden werden.

Das mit dem Umbau der Formel wie im zweiten Absatz von dir habe ic auch schon probiert aber bin zum selben Ergebnis gekommen was mich dann etwas an meinen Excel Kenntnissen hat zweifeln lassen :-)

Ich habe die Spalte A schon mal in der Formatierung geändert aber vielleicht muss ich in der Richtung noch mal suchen. Derjenige der mir das Tool vor Jahren geschrieben hat, ist leider nicht mehr verfügbar und jetzt kämpfe ich mich durch. Auf Grund von Serverumstellungen musste ich erst mal die ganzen Datenbankverknüpfungen überarbeiten aber der Download funktioniert jetzt schon mal
0 Punkte
Beantwortet von
Vielen Dank mit dem Hinweis auf die Matrix. Das hat mich zum Fehler geführt. Da sich die Schnittstelle zum ERP Sever geändert hat, haben sich die Verbindungsbezeichnungen namentlich geändert und so hat Excel die angesteuerte Matrix nicht gefunden.

Nach Umbenennung hat es funktioniert:

=WENN(A2<>"";WENN(ISTFEHLER(SVERWEIS(A2;DSSV_CostDataTP_Listing9;3;));0;SVERWEIS(A2;DSSV_CostDataTP_Listing9;3;));0)

Vielen Dank ... manchmal braucht man nur einen kleinen Kick in die richtige Richtung und schon läufts wieder  :-)
...