Excel-Formel: Aktuellen Preis nachschlagen -

Generische Formel

=LOOKUP(2,1/(item="hat"),price)

Zusammenfassung

Um den neuesten Preis für ein Produkt in einer Liste zu ermitteln, der so sortiert ist, dass die neuesten Artikel zuletzt angezeigt werden, können Sie eine Formel verwenden, die auf der Funktion LOOKUP basiert. In der Beispielshow lautet die Formel in G7:

=LOOKUP(2,1/(item=F7),price)

Dabei ist Artikel der benannte Bereich B5: B12, Preis der benannte Bereich D5: D12 und Daten werden aufsteigend nach Datum sortiert.

Erläuterung

Die LOOKUP-Funktion setzt voraus, dass die Daten sortiert sind, und stimmt immer ungefähr überein. Wenn der Suchwert größer als alle Werte im Sucharray ist, wird standardmäßig auf den vorherigen Wert zurückgegriffen. Diese Formel nutzt dieses Verhalten aus, indem sie ein Array erstellt, das nur Einsen und Fehler enthält, und dann absichtlich nach dem Wert 2 sucht, der niemals gefunden wird.

Zunächst wird dieser Ausdruck ausgewertet:

item=F7

Wenn F7 "Sandalen" enthält, ist das Ergebnis ein Array von TRUE- und FALSE-Werten wie folgt:

(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Dieses Array wird als Teiler für 1 bereitgestellt:

1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Die mathematische Operation zwingt die Werte TRUE und FALSE automatisch auf 1s und 0s, sodass das Ergebnis ein anderes Array wie das folgende ist:

(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)

kehrte direkt zur LOOKUP-Funktion als Lookup-Vektor-Argument zurück.

Beachten Sie, dass das Array nur zwei eindeutige Werte enthält: den Fehler zum Teilen durch Null (# DIV / 0!) Und die Zahl 1.

LOOKUP durchsucht das Array nach dem Wert 2 und ignoriert die Fehlerwerte. Wenn 2 nicht gefunden wird, fällt sie auf die letzte 1 an Position 7 im Suchvektor zurück. LOOKUP gibt dann das 7. Element im Ergebnisvektor (den benannten Bereich "Preis") zurück, den Wert 15.

Lesen Sie mehr über BigNum, um mehr über das Konzept der absichtlichen Suche nach einem Wert zu erfahren, der niemals erscheinen wird.

Interessante Beiträge...