mehrfache Istfehler in sverweis verschachteln

Copper Contributor

Liebe community,

ich versuche Wechselkurse mittels SVerweis zu ermitteln. 

Ermittlung ist immer pro Monat. Suchkriterium ist der Tag B3 in Tabellenblatt1, Zweispaltenmatrix mit TT = F und Kurs = G ist in Tabellenblatt 'USD09'. Jetzt kommt es vor, dass es für das Suchkriterium TT keinen Wert in USD09 F gibt. Also wenn es für den Tag keinen offiziellen Wechselkurs gibt. Dann soll der Wechselkurs vom Vortag herangezogen werden: WENN(ISTFEHLER(SVERWEIS(B3;'USD09'!F:G;2;0));SVERWEIS(B3-1;'USD09'!F:G;2;0);SVERWEIS(B3;'USD09'!F:G;2;0)). Das funktioniert auch gut. Wenn es aber vom Vortag auch keinen Kurs gibt, sollte als nächstes der Kurs vom Folgetag herangezogen werden:

WENN(ISTFEHLER(WENN(ISTFEHLER(SVERWEIS(B3;'USD09'!F:G;2;0));SVERWEIS(B3-1;'USD09'!F:G;2;0);SVERWEIS(B3;'USD09'!F:G;2;0)));SVERWEIS(B3+1;'USD09'!F:G;2;0);SVERWEIS(B3;'USD09'!F:G;2;0)).

Das würde ich gern bis zu 3 Tage in beide Richtungen spielen. Nur leider wird nur der richtige Wert ausgegeben, wenn es entweder keinen Istfehler gibt (also für den Tag ein Wechselkurs existiert) oder genau der letzte Fehler zutrifft (also in obiger Formel der nächste Kurs am Tag B3+1 vorhanden ist). Habe ich den Fall, dass bei obiger Formel schon bei B3-1 ein Kurs vorhanden ist (also der erste Wenn-Wahr-dann Fall zutreffen würde), kommt #NV. 

Wie kann ich das lösen?

danke und schöne Grüße.

 

 

2 Replies

@Bbirgit 

Finding the closest match to a given date is something of a challenge even using Excel 365!

= LET(
  matchedDates,    IF(unit=lookupVal,date),
  nearestDates,    XLOOKUP(requiredDate, matchedDates, date,0,{-1,1}),
  searchDirection, IF(AVERAGE(requiredDate-nearestDates)>1,1,-1),
  XLOOKUP(requiredDate, IF(unit=lookupVal, date),rate,0,searchDirection))

The formula looks up to date of both the preceding and subsequent matches and averages the intervals to identify the direction of the closest.  The final lookup returns the corresponding value.

I suspect this is going to be a challenge using legacy versions of Excel.

 

@Peter Bartholomew 

Vielen Dank Peter für die schnelle Antwort. Mir ist das leider zu hoch. Ich helfe mir jetzt mit Hilfsspalten, das bläst die Tabelle zwar etwas auf, aber es funktioniert auch. Danke!