vado subito al dunque del mio problema: ho una colonna di numeri alternati a celle vuote (D4:D57) e devo sommare solo i 20 più alti di questi valori.
Ho provato con la formula
- Codice: Seleziona tutto
MATR.SOMMA.PRODOTTO(RANGO(D4:D57;D4:D57;0)<=20;D4:D57)
la quale peraltro funziona in OpenOffice, ma in excel mi da un errore.
Anche la variante:
- Codice: Seleziona tutto
MATR.SOMMA.PRODOTTO((RANGO(D4:D57;D4:D57;0)<=20)*D4:D57)
che in passato mi ha incomprensibilmente (per me) risolto qualche errore, in questo caso non funziona.
Il problema, per quanto ho capito, è dovuto al fatto che i dati nell'intervallo (D4:D57) sono prelevati da un altro foglio con la formula:
- Codice: Seleziona tutto
SE($Calcoli.H4="";"";$Calcoli.H4)
copiata ovviamente in tutte le celle dell'elenco, per cui le celle "vuote" del mio intervallo non vengono in realtà interpretate come vuote dalla funzione, poiche' vi e' in effetti una formula. D'altra parte la soluzione di valorizzare a zero le celle vuote non e' percorribile, poiche' mi serve distinguere il caso di valore nullo dal caso di cella vuota (devo poi fare delle considerazioni sul valore medio).
Due ulteriori precisazioni: dal momento che voglio mantenere la compatibilità con OpenOffice:
1) non vorrei ricorrere al VBA (sarebbe troppo facile)
2) non posso usare questa alternativa:
- Codice: Seleziona tutto
=SE(D61>20;SOMMA(GRANDE((D4:D58);{1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20}));SOMMA(D4:D58))
che mi e' stata suggerita ed effettivamente funziona in Excel, ma non in OpenOffice.
Sono molto curioso di sentire i vostri pareri!
Grazie anticipatamente, ciao
Emilio