Condividi tramite

Ricerca indici

Anonimo
2019-09-12T12:16:55+00:00

Salve

Ho una tabella per  calcolare la rivalutazione monetaria, in base  agli indici nazionali dei prezzi al consumo per le famiglie (istat)

In pratica dovrei applicare questa formula  per calcolarla

((INDICE PIU’ RECENTE/INDICE MENO RECENTE)*IMPORTO DA RIVALUTARE) – IMPORTO DA RIVALUTARE

ESEMPIO

EURO 1000 DA RIVALUTARE DA  24-03-2012  A  31-12-2013

((107,01/105,2)*1000))-1000 = 17,20  RIVALUTAZIONE

Dovrei quindi inserire nel  campo colonna rivalutazione una formula che mi cerchi  l’indice più recente e quello meno recente nella tabella istat sottostante, in base alle date del periodo che inserisco nella prima tabella(seconda e terza colonna). Vorrei sapere se è fattibile in access.

RATEI PERIODO Capitale gg. Tasso Interessi **** Rivalutazione Interessi o
DAL AL % **** rivalutazione
mar 2012 24/03/2012 31/12/2013 1.000,00 648 2,5 44,38 44,38
01/01/2014 31/12/2014 1.000,00 365 1 10,00 10,00
01/01/2015 31/12/2015 1.000,00 365 0,5 5,00 5,00
01/01/2016 31/12/2016 1.000,00 366 0,2 2,00 2,00
01/01/2017 31/12/2017 1.000,00 365 0,1 1,00 1,00
01/01/2018 31/12/2018 1.000,00 365 0,3 3,00 3,0
Anno GEN FEB MAR APR MAG GIU LUG AGO SET OTT NOV DIC MEDIA
2011 101,2 101,5 101,9 102,4 102,5 102,6 102,9 103,2 103,2 103,6 103,7 104,0 102,7
2012 104,4 104,8 105,2 105,7 105,6 105,8 105,9 106,4 106,4 106,4 106,2 106,5 105,8
2013 106,7 106,7 106,9 106,9 106,9 107,1 107,2 107,6 107,2 107,1 106,8 107,1 107,0
2014 107,3 107,2 107,2 107,4 107,3 107,4 107,3 107,5 107,1 107,2 107,0 107,0 107,2
2015 106,5 106,8 107,0 107,1 107,2 107,3 107,2 107,4 107,0 107,2 107,0 107,0 107,1
2016 99,7 99,5 99,6 99,6 99,7 99,9 100,0 100,2 100,0 100,0 100,0 100,3 99,9
2017 100,6 101,0 101,0 101,3 101,1 101,0 101,0 101,4 101,1 100,9 100,8 101,1 101,0
2018 101,5 101,5 101,7 101,7 102,0 102,2 102,5 102,9 102,4 102,4 102,2 102,1 102,1
2019 102,2 102,3 102,5 102,6 102,7
Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Anonimo
    2019-09-16T11:45:59+00:00

    ciao Mescaleros21,

    come ti ho spiegato in Access e' bene lavorare con tabelle normalizzate, quella che mostri e' una Pivot.

    Essa puo' essere facilemente convertita in una tabella normale, per fare questo, non essendoci strumenti nativi in access ed essendo un po' pigro, mi sono appoggiato a sqlServer tramite il quale sfrutti l'operatore unpivot, dopo di che passi la tabella da SqlServer ad Access (ho saltato alcuni passaggi nella spiegazione…):

    use istat;

    go

    select

      anno, mese, indice

    from

     dbo.Foglio2

    unpivot (

      indice for mese in ( Gen,Feb,mar,Apr,mag,Giu,Lug,ago, [set], ott, nov, dic)) as unPVT;

    go

    applicando poi il predicato che ti mostrato a cavallo degli anni ottengo:

    visto che ci sono, ti ho preparato il tutto in QUESTA demo, trovi la tua tabella non normalizzata, quella normalizzata e la query. ( ho seguito il 3d nella sezione  di Excel e ho portato la tabella con le 869 righe effettuando il passaggio sopra indicato).

    Ciao, Sandro.

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

21 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-09-12T19:43:21+00:00

    esatto, in excel sono in procinto di risolvere grazie sempre alla community di Microsoft.

    Ma ho l'esigenza di un database di access per molti motivi validi, condivisione, unico archivio di record, ecc. si i ranges possono essere diversi anche a cavallo di anni, che vuol dire fillare ?

    Grazie sempre per la grande disponibilità

    0 commenti Nessun commento
  2. Anonimo
    2019-09-12T19:38:29+00:00

    Vi invierò la tabella istat.

    Mi piacerebbe esplorare dlookup, che non ho mai avuto opportunità di esplorare.

    Grazie sempre per la gentile collaborazione e disponibilità

    0 commenti Nessun commento
  3. Anonimo
    2019-09-12T14:26:58+00:00

    ciao Mescaleros21,

    ovviamente i dati vanno normalizzati, altrimenti come facciamo...le tabelle mostrate sono tipiche di Excel e non di access.

    ho testato quanto segue ( stralcio della tabella completa ) :

    visto che nella tabella di esempio dei vari indici hai inserito sempre e solo gennaio e dicembre puoi evitare di inserire tutti i dati ma solo quelli relativi ai due mesi indicati...chiaro che se ti servono ranges di date diverse devi fillare tutto…!

    tabella2 :

    ottengo questo :

    con il predicato sql che segue :

    SELECT Tabella2.id_periodo,

                Tabella2.daData,

                Tabella2.aData,

                Tabella2.capitale,

                Tabella2.tasso,

                [adata]-[dadata]+1 AS giorni,

                ([capitale]*[tasso]*[giorni])/365/100 AS [int],

                (select t.indice from tabella1 as t where t.mese=month(dadata) and anno=year(dadata)) AS io,

                (select t.indice from tabella1 as t where t.mese=month(adata) and anno=year(adata)) AS iy,

                 (([iy]/[io])*1000)-1000 AS rivalutazione

    FROM

              Tabella2;

    l'indice piu' recente dell'esempio che hai esposto, dovrebbe essere quello che risulta dalla query e cioè 107,10 e non 107,01.

    C'è un errore di battitura da qualche parte...

    le due subQqueries che estraggono io e yi potrebbero essere eliminate effettuando il calcolo direttamente nell'indice...ma per valutare per bene il risultato credo almeno inizialmente valga la pena mantenere il predicato come è.

    Facci sapere.

    Ciao,  Sandro.

    0 commenti Nessun commento
  4. Anonimo
    2019-09-12T12:54:56+00:00

    Ciao,

    dovresti postarci la struttura della tabella Istat. Comunque penso puoi risolvere con due dLookUp.

    Ciao Mimmo

    0 commenti Nessun commento