Ich muss der Funktion VLOOKUP
den nächsten Wert zur Zelle D242
als Lookup-Wert übergeben. Beispielsweise habe ich das Datum 30.08.12
als Lookup-Wert. Wenn kein Wert vorhanden ist, 30.08.12
wird nach dem nächsten Wert zum 30.08.12 gesucht, der kleiner ist als 30.08.12
. In diesem Fall wäre es 29.08.12
.
=VLOOKUP(D242;Table_crs.accdb[[Date]:[Sell]];3;FALSE)
Where
1. D242 is lookup_value
2. Table_crs.accdb[[Date]:[Sell]] is table_array
3. 3 is col_index-_num
4. FALSE is [range_lookup]
Antwort1
LOOKUP
Sie müssen und nicht wirklich verwenden VLOOKUP
. Versuchen Sie, Ihre ursprüngliche Formel zu ändern, indem Sie TRUE als Bereichssuche verwenden. Dadurch verhält sie sich wie gewünscht, d. h.
=VLOOKUP(D242;Table_crs.accdb[[Date]:[Sell]];3;TRUE)
.....oder verwenden Sie LOOKUP wie folgt
=LOOKUP(D242;Table_crs.accdb[[Date]:[Sell]])
Beide Formeln erfordern, dass die Datumsspalte aufsteigend sortiert wird (wie auch Ihr Vorschlag).
Antwort2
So verwenden Sie LOOKUP
eine Funktion als lookup_value
Argument für eine äußere Funktion VLOOKUP
:
=VLOOKUP(LOOKUP(D243;Table_crs.accdb[Date]);Table_crs.accdb[[Date]:[Sell]];3;FALSE)
LOOKUP wird verwendetWeil
Wenn LOOKUP den Lookup-Wert nicht finden kann, wird er mit dem größten Wert im Lookup-Vektor abgeglichen, der kleiner oder gleich dem Lookup-Wert ist.