non è la prima volta che mi imbatto in cattivi funzionamenti della funzione SCARTO().
Parto dall'inizio:
il mio obiettivo è quello di isolare da un elenco (che corrisponde alle precipitazioni giornaliere) i valori che appartengono a determinate sequenze, cioè per esempio piogge che durano almeno 4 giorni oppure almeno 10 giorni, ecc.
Per fare questo ho prima di tutto usato delle colonne d'appoggio in cui faccio un controllo numerico delle sequenze partendo una volta dall'alto e una volta dal basso. In questo modo se trovo un 1 (primo giorno di precipitazione) nella prima colonna e un 4 (ultimo giorno di quella precipitazione) della seconda colonna, so che da quella riga in giù ho i dati di una precipitazione durata 4 giorni.
Sono riuscito poi a sintetizzare tutto in una formula matriciale che mi evita le colonne d'appoggio:
- Codice: Seleziona tutto
=SE(MIN(SE(B7:B$30000=0;RIF.RIGA(B7:B$30000);1000))-MAX(SE(B$2:B7=0;RIF.RIGA(B$2:B7);0))>L$1;B7;0)
Per mio sfizio (ma anche perché non so se i dati finali supereranno questa cifra) volevo sostituire il riferimento a B30000 con la funzione "scarto". Doveva essere qualcosa così:
- Codice: Seleziona tutto
=SE(MIN(SE(SCARTO(B7;0;0;CONTA.VALORI(B:B)+2-RIF.RIGA(B7);1)=0;RIF.RIGA(SCARTO(B7;0;0;CONTA.VALORI(B:B)+2-RIF.RIGA(B7);1));1000))-MAX(SE(B$2:B7=0;RIF.RIGA(B$2:B7);0))>L$1;B7;0)
Allego anche il file dove si vedono i miei tentativi (in particolare si vede come la funzione scarto usata da sola funziona).
http://www.filedropper.com/formulasequenzecumulatediverseda0b
se qualcuno avesse idee alternative per la formula è il benvenuto (vorrei evitare le macro)