Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Probleme mit SVERWEIS





Frage

Hallo, ich habe zwei Probleme mit einem SVERWEIS, für die ich bisher keine Lösung gefunden habe. Vereinfacht stellen sich die Probleme wie folgt dar: Tabelle 1: --A--------B------C---- 0065 1 88,00 0066 1 78,00 0070 2 124,00 0071 1 109,00 0072 0 #NV FALSCH FALSCH Tabelle 2: --A--------B---- 0065 1 0066 1 0070 2 0071 1 0072 Die Werte der Spalte A in Tabelle 1 werden als Suchkriterium für Tabelle 2 verwendet. Dazu habe ich folgenden SVERWEIS codiert: [code]=WENN(NICHT(ISTLEER($A?)); (SVERWEIS(A?;Tabelle2!$A$1:$B$5;2;0)))[/code] (Suche den Wert in Tabelle 2 und gib den Wert aus Spalte B der Tabelle 2 zurück). Der gefundene Wert dient als weiteres Suchkriterium zur Ermittlung des Wertes in Spalte C der Tabelle 1. Das funktioniert, wenn in Spalte B der Tabelle 2 ein Wert gefunden wird. Ansonsten wird der Wert 0 (?) zurückgegeben. Der Wert in Spalte C der Tabelle 1 kann in diesem Fall nicht ermittelt werden (#NV). In Spalte B der Tabelle 2 muß nicht zwingend ein Wert enthalten sein. In diesem Fall möchte ich einen Fehlerhinweis in Bezug auf den Wert in Spalte A der Tabelle 1 ausgeben. Geht das, oder wie kann ich die Rückgabe des 0-Wertes verhindern? Das 2. Problem tritt auf, wenn in Spalte A der Tabelle 1 kein Wert enthalten ist (auch das ist möglich), in diesem Fall sollte der SVERWEIS eigentlich nicht ausgeführt werden ([code]=WENN(NICHT(ISTLEER($A?)).....;[/code] ), wird er aber und in Spalte B der Tabelle 1 wird [code]"FALSCH"[/code] ausgegeben, warum? Hoffe auf Hilfe hanswerner

Antwort 1 von JoeKe

Moin hanswerner,

erstmal zu deinem 2.Problem.
Du hast den "Sonst_Wert" deiner Wenn-Formel nicht angegeben.

So:

=WENN(NICHT(ISTLEER($A2));(SVERWEIS(A2;Tabelle2!$A$1:$B$5;2;0));"")

oder so:

=WENN(ISTLEER($A1);"";(SVERWEIS(A1;Tabelle2!$A$1:$B$5;2;0)))

Bei deinem anderen Problem könnte dir "Istfehler" weiter helfen.

=Wenn(Istfehler(
 "Hier deine Formel"
);"Ergibt einen Fehler";
 "Hier deine Formel"
)


Gruß

JöKe

Antwort 2 von CaroS

Hallo Hanswerner,

ändere Deine Formel in Spalte B entweder so

=WENN(A1 = ""; ""; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

oder so

=WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); ""; SVERWEIS(A1;Tabelle2!A$1:B$5; 2; 0))

und die Formel in Spalte C entweder so

=WENN(B1 = ""; "kein Wert in Spalte B"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

oder so

=WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5;2;0)); "kein Wert in Spalte B"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

Dabei habe ich angenommen, dass die Werte für die Spalte C durch einen weiteren SVERWEIS ( = SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0) ) ermittelt werden. Das könnte aber genauso gut auch eine andere Funktion sein. Außerdem kannst Du natürlich den Text der Fehlermeldung "kein Wert in Spalte B" frei wählen oder leer "" lassen.

Es ist - da ich diesmal vor dem Absenden noch mal meine Anzeige aktualisiert habe - fast der gleiche Vorschlag wie von JöKe, nur dass ich beim Test A1 = "" und B1 = "" gegenüber ISTLEER(A1) und ISTLEER(B1) vorziehen würde, da aus der Sicht von ISTLEER() eine Zelle auch dann nicht mehr leer ist, wenn ="" drin steht. Aus Benutzersicht ist sie dann aber noch leer, und das wird mit WENN(Zelle = ""; ... richtig erkannt.

Gruß,
CaroS

Gruß,
CaroS

Antwort 3 von hanswerner

Danke JöKe und CaroS für die Hilfe!

Ich habe die Formel in Spalte B der Tabelle 1 wie folgt geändert:

=WENN($A?="";"";
WENN(ISTFEHLER(SVERWEIS(A?;Tabelle2!$A$1:$B$5;2;0));
"kein Wert in Spalte B";
SVERWEIS(A?;Tabelle2!$A$1:$B$5;2;0)))


Wenn in Spalte B der Tabelle kein Wert enthalten ist, bekomme ich allerdings immer noch den Wert 0 zurück!!!
ISTFEHLER kommt in diesem Fall wohl nicht zum Zuge. Wo sollte der Text "kein Wert in Spalte B" eigentlich ausgegebn werden?

Gibt es eine Möglichkeit in diesem Fehlerfall ein PopUp-Window mit einem Fehlertext (wie bei der Gültigkeistprüfung) zu öffnen?

Gruss
hanswerner

Antwort 4 von JoeKe

Hallo hanswerner,

um das zu verhindern musst du noch eine entsprechende Wennbedingung einbauen.
Hier mal am Beispiel meiner ersten Formel:

=WENN(ISTLEER($A1);"";WENN(SVERWEIS(A1;Tabelle2!$A$1:$B$5;2;0)="";"";SVERWEIS(A1;Tabelle2!$A$1:$B$5;2;0)))

Gruß

JöKe

Antwort 5 von hanswerner

Hallo JöKe,
OK, es funktioniert, die 0 wird nicht ausgegeben!

Ich möchte in dem beschriebenen Fall (kein Wert in Spalte B, Tabelle 2) zusätzlich eine Meldung ausgeben, dass der Wert fehlt!

Kann man die Formel auch in eine selbstgeschriebene "Funktion" einbinden (
Funktion WertinSpalteB()
) mit der Option innerhalb dieser Funktion durch
MsgBox "Kein Wert in Spalte B"
eine Fehlernachricht auszugeben? Oder gibt es evtl. noch eine andere Möglichkeit Fehlernachrichten auszugeben?
Einbinden der Formel in "Gültigkeitsprüfung" geht nicht, da kann man sich nicht auf externe Tabellen oder Arbeitsmappen beziehen!

Gruss
hanswerner

Antwort 6 von JoeKe

Moin hanswerner,

was spricht dagegen in deine bisherige Formel einzubinden?

=WENN(ISTLEER($A1);"";WENN(SVERWEIS(A1;Tabelle2!$A$1:$B$5;2;0)="";"Kein Wert in Spalte B";SVERWEIS(A1;Tabelle2!$A$1:$B$5;2;0)))

Sollte es deswegen zu Problemen bei deiner Formel in C, die wir ja leider nicht kennen, kommt, kannst du dies mit:

=Wenn(Istzahl(A1); Deine Formel; "")

abfangen.

Gruß

JöKe

Antwort 7 von CaroS

Hallo Hanswerner,

(zu AW3) ich glaube, man muss das mal ein bisschen sortieren.
Zitat:
Ich habe die Formel in Spalte B der Tabelle 1 wie folgt geändert:
=WENN($A?="";""; WENN(ISTFEHLER(SVERWEIS(A?;Tabelle2!$A$1:$B$5;2;0));
"kein Wert in Spalte B"; SVERWEIS(A?;Tabelle2!$A$1:$B$5;2;0)))
Wenn in Spalte B der Tabelle kein Wert enthalten ist, bekomme ich allerdings immer noch den Wert 0 zurück!!!
ISTFEHLER kommt in diesem Fall wohl nicht zum Zuge. Wo sollte der Text "kein Wert in Spalte B" eigentlich ausgegebn werden?

Du benutzt den Wert in Spalte A, um mit Hilfe einer SVERWEIS-Formel einen Wert für die Spalte B zu ermitteln. Und Du tust anschließend vermutlich noch einmal dasselbe oder etwas ähnliches, um aus dem Wert in Spalte B (wieder mit einer SVERWEIS-Formel?) einen Wert für die Spalte C zu ermitteln, das hast Du bisher noch nicht so klar mitgeteilt. (Die SVERWEIS-Formeln, die die Werte ermitteln, müssen genau in die Spalte geschrieben werden, wo das Ergebnis stehen soll, und es müssen natürlich zwei verschiedene Formeln sein. Bisher war von der zweiten Formel eigentlich noch gar keine Rede.)

Du hast zuerst geprüft, ob die Zelle A1 nicht leer ist. Falls da was drin steht den SVERWEIS einfach auszuführen (so oder so ähnlich)

B1: =WENN(A1 = ""; ""; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

oder mit Fehlermeldung

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

wäre einfach, aber wahrscheinlich nicht ausreichend. Deshalb hast Du richtigerweise eine zweite WENN-Prüfung eingefügt, denn es könnten - zumindest theoretisch - noch weitere Fehler auftreten.
Und zwar 1. dass der gesuchte Wert (aus Spalte A) in der Suchmatrix in Tabelle2 gar nicht vorkommt - das wäre ein "echter" Fehler, da liefert der SVERWEIS #NV!,
oder 2. dass der gesuchte Wert in der Suchmatrix zwar gefunden wird, dass in der Zelle mit dem Rückgabewert aber nichts drin steht. Das ist für den SVERWEIS dann weder ein Problem noch ein Fehler, er liefert einfach das, was da ist, nämlich nichts.
(Mit diesem "leeren" Inhalt verhält sich die Ergebniszelle B1 in Tabelle1 gegenüber an-deren Formeln genau so, als ob in ihr die Formel = "" stehen würde. D. h. der Vergleich B1 = "" würde WAHR und die Funktion ISTLEER(B1) würde FALSCH ergeben.)

Um nur dem ersten Fehler (#NV!) vorzubeugen, könnte man auch die Formel

B1: =WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); ""; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

oder mit Fehlermeldung

B1: =WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

verwenden. Die sinnvolle Kombination aus dem ersten Formelpaar und dem zweiten ergibt dann

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)))

Dies entspricht ungefähr Deiner Variante in AW3. Damit wird der korrekte, gegebenen-falls aber leere Wert aus der Tabelle2 geliefert oder es wird gemeldet, dass entweder in A kein Wert vorhanden ist oder der vorhandene Wert nicht gefunden wurde. (Ende Teil 1 zu Spalte B)

Antwort 8 von CaroS

Das gleiche Prinzip wiederholt sich nun bei der Ermittlung des Wertes für die Spalte C, wobei der Wert aus Spalte B verwendet wird.

Spalte B könnte wiederum leer sein (Fall 1), weil der erste SVERWEIS ein korrektes leeres Ergebnis geliefert hat oder weil auf Fehlermeldungen verzichtet wurde,
oder es könnte eine Fehlermeldung in B stehen (Fall 2), falls im ersten SVERWEIS Fehlermeldungen verwendet wurden. Da man weiß, ob man Fehlermeldungen verwendet hat oder nicht, weiß man auch, ob man diesen Fall von der zweiten Suche ausschließen muss. (Der Einfachheit halber habe ich beide Fehlermeldungen mit dem Wort "Fehler! " beginnen lassen, so dass ich diesen Fall einfach mit WENN(LINKS(B1; 8) = "Fehler! "; ... ) testen kann.)

Fall 1: B1 ist leer oder enthält nur "ordentliche" Suchbegriffe, keine Fehlermeldungen. Ob jeder Suchbegriff auch in der zweiten Suchmatrix, die Du selbst bisher noch nicht erwähnt hast, auch vorhanden ist, ist eine andere Frage. Ich habe bisher nur angenommen, dass die Werte in Spalte C ebenfalls per SVERWEIS ermittelt werden und dass es dafür eine weitere Tabelle ´Tabelle3´ gibt. Hier also wieder der Reihe nach alle Möglichkeiten von der einfachen bis zur komplizierteren Formel ohne und mit Fehlermeldungen:

C1: =WENN(B1 = ""; ""; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

oder mit Fehlermeldung

C1: =WENN(B1 = ""; "Fehler! Kein Wert in B"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

C1: =WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); ""; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

oder mit Fehlermeldung

C1: =WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle3 nicht gefunden"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

C1: =WENN(B1 = ""; "Fehler! Kein Wert in B"; WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle3 nicht gefunden"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)))

Fall 2: B1 ist leer, enthält Fehlermeldungen oder "ordentliche" Suchbegriffe. Man muss natürlich verhindern, dass nach einer Fehlermeldung in Tabelle3 gesucht wird.

Auch dafür wieder der Reihe nach alle Möglichkeiten von der einfachen bis zur komplizierteren Formel ohne und mit Fehlermeldungen:

C1: =WENN(ODER(B1 = ""; LINKS(B1; 8) = "Fehler! "); ""; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

oder mit Fehlermeldung

C1: =WENN(ODER(B1 = ""; LINKS(B1; 8) = "Fehler! "); "Fehler! Kein Wert in B"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

C1: =WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); ""; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

oder mit Fehlermeldung

C1: =WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle3 nicht gefunden"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0))

C1: =WENN(ODER(B1 = ""; LINKS(B1; 8) = "Fehler! "); "Fehler! Kein Wert in B"; WENN(ISTFEHLER(SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle3 nicht gefunden"; SVERWEIS(B1; Tabelle3!A$1:B$5; 2; 0)))

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt. (Bei Bedarf nachfragen!)

Gruß,
CaroS

Antwort 9 von hanswerner

@JöKe
Hallo JöKe, Antwort zu Deiner Lösung, siehe @CaroS (Fehlermeldung im SVERWEIS).

@CaroS
Hallo CaroS,
Zunächst einmal Danke für Deine sehr ausführliche und, wie ich finde, kompetente Antwort!

Die Wertermittlung für Spalte C in Tabelle 1 ist für mein Problem nicht von Bedeutung!
Wie Du richtig vermutest, ist in Spalte C ein SVERWEIS auf eine 3. Tabelle hinterlegt! Dieser SVERWEIS liefert immer ein gültiges Ergebnis, weil im Falle von "Suchwert in Tabelle nicht gefunden" mit einem Alternativwert ein weiterer SVERWEIS ausgeführt wird, der immer ein Ergebnis liefert. Voraussetzung dafür ist, dass ein Suchkriterium in B?/Tabelle 1 vorhanden ist. Das war bisher duch eine manuelle Eingabe gewährleistet!

Zukünftig soll der der Wert in B?/Tabelle 1 maschinell, anhand der Tabelle 2, ermittelt werden. In der Tabelle 2 sind in der Spalte A Werte von 1 bis 400 gespeichert, aber nicht in jeder Zeile ist ein Wert in Spalte B? vorhanden. Beides ist gültig. Nur wenn ein Wert in Spalte B? enthalten ist, darf die Eingabe in A? /Tabelle 1 akzeptiert werden.

Den Wertebereich in A?/Tabelle 1 kann ich durch die Gültigkeitsprüfung eingrenzen. Dadurch wird der Fehler "Nicht in Tabelle 2" ausgeschlossen. Für die Prüfung auf Vorhandensein eines Wertes in B?/Tabelle 2 habe ich Lösungsvorschläge erhalten, das funktioniert auch. Jetzt geht es noch um die Anzeige einer Fehlermeldung, in welcher Form auch immer, wenn in Spalte A /Tabelle 1 ein Wert eingegeben wird, der in der entsprechenden Zeile der Tabelle 2 keinen Wert in Spalte B enthält.

Der Vorschlag, eine Fehlermeldung im SVERWEIS zu erzeugen, wäre für mich akzeptabel, wenn sie sichtbar angezeigt würde. Offensichtlich wird die Meldung aber immer in der Zelle ausgegeben, in der der SVERWEIS definiert wurde und da
sie in diesem Fall erst bei der Ausführung des SVERWEIS in Spalte B?/Tabelle 1 ausgegeben wird, sehe ich nur einen Teil der Fehlermeldung , weil die Spalte B nicht breit genug ist (Verbreiterung ist nicht möglich).

Deshalb meine Frage in Antwort 5 ob das Problem evtl. über eine VBA-Funktion zu lösen ist, oder gibt es noch eine andere Möglichkeit?


Gruss
hanswerner

Antwort 10 von CaroS

Hallo Hanswerner,

ich verstehe immer besser, worum es geht, aber ob es schon 100% sind??

Es gibt jetzt also 3 mögliche Fehlersituationen (alles bezogen auf A1 und B1 in Tabelle1 sowie die Suchmatrix in Tabelle2)
- A1 ist leer. Dazu kann kein Wert für B1 ermittelt werden, klar! Wenn dies der Fall ist, wird in B1 eine Fehlermeldung angezeigt:

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; ... )

- A1 enthält einen Wert, der in der Suchmatrix nicht gefunden wird/nicht enthalten ist. Damit der SVERWEIS in B1 nicht den Fehler #NV liefert, wird in B1 eine Fehlermeldung angezeigt:

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; ...))

- A1 enthält einen Wert, für den in der Ergebnisspalte der Suchmatrix kein Wert enthalten ist. Anstatt in B1 den (korrekten!) leeren Wert zurück zu geben, wird in B1 eine Fehlermeldung angezeigt:

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; WENN(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0) = ""; "Fehler! Kein Ergebniswert in Tabelle2 enthalten"; ...)))

Wenn keiner dieser 3 Fehler auftriff, wird der SVERWEIS ausgeführt und sein Ergebnis in B1 zurückgegeben:

B1: =WENN(A1 = ""; "Fehler! Kein Wert in A"; WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; WENN(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0) = ""; "Fehler! Kein Ergebniswert in Tabelle2 enthalten"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))))

Mit dieser letzten Variante werden nun bei allen 3 möglichen Fehlern entsprechende Fehlermeldungen in B1 angezeigt. Dies ist natürlich keine perfekte Lösung, da damit nur noch nachträglich auf die Ursache reagiert wird, nämlich dass in A1 ein "ungünstiger" Wert eingegeben wurde. Besser wäre es, solche Werte in A1 gar nicht erst eingeben zu lassen. Ob/wie das z. B. mit Hilfe einer Gültigkeitsprüfung möglich ist, probiere ich mal aus, aber wahrscheinlich schaffe ich das heute nicht mehr.

Gruß,
CaroS

Antwort 11 von CaroS

Hallo Hanswerner,

Du kannst die Eingabe solcher Werte in A1 mit einer Gültigkeitsprüfung abfangen, die entweder gar nicht in der Suchmatrix (linke Spalte) enthalten sind, oder für die in der Ergebnisspalte kein Wert vorhanden ist.

Dazu müsstest Du zuerst der gesamten Suchmatrix in Tabelle2 eine Namen geben (Menü Einfügen -- Namen -- Definieren... -- z. B. Name in der Arbeitsmappe: T2Such, Bezieht sich auf: Tabelle2!A$1:B$5 -- OK), da Formeln in Gültigkeitsprüfungen nicht auf andere Tabellen zugreifen können. Wenn man dafür aber einen Namen verwenddet merkt Excel das nicht und tut es doch.

Dann A1 markieren, Daten -- Gültigkeit... -- Einstellungen -- Zulassen: Benutzerdefiniert, Formel:
=WENN(ODER(ISTFEHLER(SVERWEIS(A1; T2Such; 2; 0)); SVERWEIS(A1; T2Such; 2; 0) = ""); ""; A1)
-- Eingabemeldung ausfüllen -- Fehlermeldung ausfüllen (dringend empfohlen, sonst weiß kein Anwender, warum er bestimmte Werte nicht eingben kann) -- OK.

Gruß,
CaroS

Antwort 12 von hanswerner

Hallo CaroS,

die Gültigkeitsprüfung mittels Namensvergabe funktioniert prima bei "Suchwert in Tabelle2 nicht gefunden" und "Kein Ergebniswert in Tabelle2 enthalten"
allerdings bringt sie keinen Fehler, wenn in A1 kein Wert eingegeben wird?
Auch
=WENN(ODER(A1="";ISTFEHLER(SVERWEIS(A1;T2Such;2;0));
SVERWEIS(A1;T2Such;2;0)="");"";A1)
erkennt eine fehlende Eingabe in A1 nicht?

Fällt Dir dazu noch etwas ein?

Gruss
hanswerner

Antwort 13 von CaroS

Hallo Hanswerner,

das ist jetzt aber ein kleiner Rückschritt auf dem Weg zum Excel-Experten. Ich musste etwas schlucken, als ich diese Frage gelesen habe.

Die Gültigkeitsprüfung prüft die Gültigkeit von eingegebenen Daten, genauer gesagt, sie prüft die Gültigkeit von per Hand/Tastatur einzeln - ohne Verwendung von Kopier-/Einfüge-Befehlen, Makros u. ä. - in die Zelle(n) geschriebenen Daten.
(Da Excel (noch) keine Gedanken lesen kann, prüft die Gültigkeitsprüfung nicht die Gültigkeit von (noch) nicht eingegebenen Daten, die irgendwo zwischen Deiner Absicht, sie einzutippen, und dem entscheidenden "Enter" oder Klick noch irgendwie die Kurve gekriegt und sich verflüchtigt haben. - Da hätte man aber beinahe drauf kommen können!)

Wenn Du in A1, A2, usw. nichts eingibts, kann die Gültigkeitsprüfung auch nichts dafür. Aus der Sicht der Zelle B1 bleibt die "Fehlermöglichkeit", dass in A1 nichts drin steht, weil nichts eingegeben wurde, also bestehen. Die Gültigkeitsprüfung verhindert nur die zwei Fälle fehlerhafter Eingabe, dass in A1 entweder ein Wert eingegeben wird, der in der Suchmatrix in Tabelle2 gar nicht vorhanden ist, so dass kein Wert zurückgeliefert werden kann, oder dass in A1 ein Wert eingegeben wird, dem in der Ergebnisspalte der Suchmatrix kein Wert zugeordnet ist, so dass nur der "leere Wert" zurückgegeben werden kann.

Wenn Du nun auf das Funktionieren der Gültigkeitsprüfung und die Richtigkeit der Eingaben in A1 ff. vertraust und bei Dir keine Anwender am Werk sind, die die Gültigkeitsprüfung vorsätzlich umgehen, könntest Du die Formel in B1 von

=WENN(A1 = ""; "Fehler! Kein Wert in A"; WENN(ISTFEHLER(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0)); "Fehler! Suchwert in Tabelle2 nicht gefunden"; WENN(SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0) = ""; "Fehler! Kein Ergebniswert in Tabelle2 enthalten"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))))

verkürzen auf

=WENN(A1 = ""; "Fehler! Kein Wert in A"; SVERWEIS(A1; Tabelle2!A$1:B$5; 2; 0))

falls auf das Fehlen eines Wertes in A1 in B1 durch eine Fehlermeldung hingewiesen werden soll. Aber wie gesagt, diese Möglichkeit, dass der Anwender da, wo er etwas eingeben sollte, nichts eingibt, die existiert und ist durch Formeln, Gültigkeitsprüfungen usw. nicht auszuschließen.

Gruß,
CaroS

Antwort 14 von hanswerner

Hallo CaroS,
nochmals Danke für die Hilfe. Ich habe durch unseren Dialog viel bzgl. Excel gelernt.

Gruss
hanswerner

Antwort 15 von knaddl

Hallo,

ich habe folgendes Problem.

In Tabelle 1 habe ich eine Liste mit fortlaufenden Datum in Spalte 1 und einem Namen in Spalte 2 und Daten in Spalte 3. Daten und Namen kommen doppelt vor. Ich habe schon eine Pivot-Tabelle erstellt, wo die Namen (sortiert) und immer das aktuelle Datum dargestellt werden. Dazu möchte ich aber noch die Daten aus dieser Zeile haben. Ich hoffe ihr könnt mir helfen.

Grüße
Martin

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: