Domino 9 und frühere Versionen > ND9: Entwicklung

@dblookup Suche und bei Nichtübereinstimmung den nächsten Wert nehmen

(1/2) > >>

lusik:
Hallo

Ich habe eine kleine Tabelle mit MwSt-Sätzen.

1. Spalte 2. Spalte1.1.1995  6.5%1.1.1996  6.5%1.1.1999  7.5%1.1.2001  7.6%1.1.2011  8.0%1.1.2018  7.7%
Gibt es in Notes eine Möglichkeit mit @dblookup die Tabelle zu durchsuchen und den Wert auszulesen, ohne das exakte Suchdatum zu verwenden? Beispiel: Mit der Suche nach dem 19.12.2017 müssten mir dann die Werte aus Zeile mit Datum 1.1.2011 ausgegeben werden.  (analog sverweis() in Excel)

Danke für jeden Hinweis.

Gruss lusik

eknori (retired):
@dblookup geht immer auf den Wert, der übergeben wird. Daher wird das so nicht funktionieren, wie du es dir vorstellst.

Mit script ließe sich was machen, aber mit @formula ...

Peter Klett:
Du könntest mit zwei @DBColumns die beiden Spalten als Liste auslesen und dann mit einer @Do-Schleife durch die erste Liste gehen, bis das Datum passt und dann den entsprechenden Wert aus der zweiten Liste nehmen.

lusik:
der Gedanke kam mir auch, aber ich hoffte auf eine einfachere Lösung ;-)  aber herzlichen Dank!

Gruss lusik

ronka:
Mit den 2 @DBcolumn kannst du 2 felder füllen, MwStDatum und MwStSaetze.
Dann kannst du dir das berechnen z.B. mit folgenden @Formel.

EL := @Elements(MwStDatum);
@If( Datum <= MwStDatum[1] ; @Do( @SetField( "Wert" ; MwStSaetze[1] ) ; @Return("") ); "");
@If( Datum >= MwStDatum[EL] ; @Do( @SetField( "Wert" ; MwStSaetze[EL] ) ; @Return("") ); "");
Res := -1;
@For(i := 1; i <= EL; i := i + 1; @If ( MwStDatum <= Datum ; @If (MwStDatum[i+1] > Datum ; Res := i ; "") ; "" ) );
@If ( Res = -1 ; @Return(""); "" );
@SetField( "Wert" ; MwStSaetze[Res] );
@Command([ViewRefreshFields])

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln