Domino 9 und frühere Versionen > ND9: Entwicklung
@dblookup Suche und bei Nichtübereinstimmung den nächsten Wert nehmen
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