
Generische Formel
=XLOOKUP(1,(rng1="red")*(rng2>100),results)
Zusammenfassung
Um XLOOKUP mit mehreren logischen Elementen zu verwenden, erstellen Sie Ausdrücke mit boolescher Logik und suchen Sie dann nach der Nummer 1. Im Beispiel wird XLOOKUP verwendet, um den ersten Verkauf nach Chicago über 250 USD nachzuschlagen. Die Formel in G6 lautet:
=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)
Dies gibt 0347 zurück, die Bestellnummer des ersten Datensatzes, der die angegebenen Kriterien erfüllt.
Hinweis XLOOKUP unterscheidet nicht zwischen Groß- und Kleinschreibung.
Erläuterung
XLOOKUP kann Arrays nativ verarbeiten, was es zu einer sehr nützlichen Funktion beim Erstellen von Kriterien macht, die auf mehreren logischen Ausdrücken basieren.
In dem gezeigten Beispiel suchen wir nach der Bestellnummer der ersten Bestellung nach Chicago über 250 USD. Wir konstruieren ein Lookup-Array mit dem folgenden Ausdruck und der folgenden Booleschen Logik:
(D5:D14="chicago")*(E5:E14>250)
Wenn dieser Ausdruck ausgewertet wird, erhalten wir zuerst zwei Arrays mit TRUE FALSE-Werten wie folgt:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)* (FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE)
Wenn die beiden Arrays miteinander multipliziert werden, führt die mathematische Operation zu einem einzelnen Array von Einsen und Nullen wie folgt:
(0;0;0;0;0;0;0;1;0;0)
Wir haben jetzt die folgende Formel, und Sie können sehen, warum wir 1 für den Suchwert verwenden:
=XLOOKUP(1,(0;0;0;0;0;0;0;1;0;0),B5:B14)
XLOOKUP entspricht der 1 auf Platz 8 und gibt den entsprechenden 8. Wert von B5: B14 zurück, der 0347 ist.
Mit einem einzigen Kriterium
Wie oben gezeigt, zwingen mathematische Operationen TRUE- und FALSE-Werte automatisch zu Einsen und Nullen. Daher ist bei Verwendung mehrerer Ausdrücke ein Suchwert von 1 sinnvoll. In Fällen, in denen Sie nur ein einziges Kriterium haben, z. B. "Betrag> 250", können Sie stattdessen wie folgt nach WAHR suchen:
=XLOOKUP(TRUE,E5:E14>250,B5:B14)
Alternativ können Sie die TRUE FALSE-Werte auf 1 und 0 setzen und 1 wie folgt verwenden.
=XLOOKUP(1,--(E5:E14>250),B5:B14)