Excel 2011, VLOOKUP für Tabellen- und Listenüberprüfung

652
orionrush

Ich versuche, eine Dropdown-Liste auf einem Blatt zu erstellen, die einen übereinstimmenden Wert in einem anderen Blatt sucht. In der Abbildung unten ist von einem Blatt genannt PricesforCSV. Hier möchte ich, dass der eingekreiste Wert in Spalte B aus einem zweiten Blatt mit dem Namen gezogen wird invoiceLookup:

Definierte Liste in Aktion Spalte B sollte den Preis auflisten, ist aber derzeit "FALSE".

Wie Sie sehen können, habe ich bisher die Dropdown-Funktion, die Datenvalidierung verwendet. Es ist, als so definiert: =invoiceLookup!$D:$D,

Das Blatt, invoiceLookupwelches als Information ich nachschlagen möchte, ist unten. Spalte E hat die Preisgestaltung, die ich vermitteln möchte.

Dieses Blatt enthält die Informationen, die ich nachschlagen möchte

In der eingekreisten Zelle in Spalte B von PricesforCSVversuche ich, die Suche basierend auf dem Wert der Dropdown-Liste durchzuführen. Hier ist die Formel, die ich bisher für diese Zelle verwende:

 =IF(ISNA(VLOOKUP(A3,invoiceLookup!D2:D300,2,0)), VLOOKUP(A3,invoiceLookup!E2:E300,2,0)) 

Dies ist derzeit falsch zurückgegeben.

Die Idee dabei ist, alle Zeilen in der Suche der invoiceLookup!D2:D300Suche nach einem Spiel auf den Wert in A3, und wenn es gefunden wird, füllen Sie die Zelle mit dem zugehörigen Wert in der nächsten Spalte: invoiceLookup!E2:E300.

  • Ich bin nicht sicher, ob dies der beste Ansatz ist. Könnte ich eine zweispaltige Liste mit Namen verwenden und die Werte daraus abrufen?
  • Es kann ein Problem mit Whitespace in den Elementen aus der Dropdown-Liste geben, obwohl das Ausprobieren von Werten ohne Whitespace das Problem derzeit nicht löst.

Danke, dass Sie sich die Zeit genommen haben, sich das anzuschauen!

0

1 Antwort auf die Frage

0
orionrush

Wie in vielen Fällen einfach die Zeit nehmen, um die Frage richtig zu stellen, und mit neuen Augen die Formel vereinfachen, bis ich anfing, Ergebnisse zu sehen, die zur Antwort führten.

Hier bin ich angekommen:

=IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))),VLOOKUP(A3,invoiceLookup!$D:$E,2,0)) 
  • Das erste Problem war in VLOOKUP, der zweite Wert in dem Array ist, wo der Rückgabewert gespeichert wird. Ich dachte, er hätte nach einem Anfangs- und Endpunkt für die Suche gefragt. In der Tat suchte ich nach dem Rückgabewert in derselben Spalte wie der Nachschlagewert. Die korrigierte Version durchsucht nun die gesamte Spalte für die Suche $Dund die gesamte Spalte für den Rückgabewert $E: VLOOKUP(A3,invoiceLookup!$D:$E,2,0)

  • Ich habe auch missverstanden, ISNAwas zurückkehrt, truewenn eine leere Zelle vorhanden ist (ich dachte im Gegenteil). Dies führte mich dazu NOT, die erste Hälfte der Formel hinzuzufügen :=IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))), ...

BEARBEITEN ----------------------- Eine geringfügige Überarbeitung, da die alte Version Zellen mit einem leeren Wert "FALSE" hinzugefügt hat. Das Folgende lässt die Zelle leer:

=IF(ISNA(VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE)),"",VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE)) 

/ BEARBEITEN ----------------------

Mir ist klar, dass Excel-Formeln nicht so viel Verkehr bekommen, da sich dies in den letzten Tagen nur 19 angesehen haben, aber für diejenigen, die dies noch einmal tun, hoffe ich, dass es nützlich ist.