CERCA.VERT o MATR.SOMMA.PRODOTTO?
Domanda: Ho la necessità di creare un file che mi gestisca le presenze del personale.
Ho 2 fogli di lavoro, il primo foglio è la scheda di ogni dipendente, il secondo e un riepilogo generale di tutti i dipendenti, dove ho tutte le voci della scheda. La necessità è quella di inserire i dati nel riepilogo e far aggiornare in automatico la scheda del dipendente. Quindi mi serve una funzione che va a leggere il valore nella cella in corrispondenza del numero di matricola (esempio: colonna A), la voce di interesse (esempio: "ore ordinarie, ore straordinario, ecc" nella colonna B) e il giorno lavorativo (esempio: che si sviluppa per 31 giorni C1:AG1). Pensavo di poter usare un doppio CERCA.VERT dove il primo va a filtrare la matricola, il secondo la voce di interesse e un CERCA.ORIZZ che va a ricercare il giorno, ma non funziona.
Ho utlizzato la funzione "MATR.SOMMA.PRODOTTO" che mi restituisce il valore, funziona, però è troppo lenta l'elaborazione e riconoscendo solo valori numerici, appena inserisco una lettera va in errore.
Allego un file con l'esempio per capire meglio la funzionalità.
Risposta:
Il file proposto utilizza la fonuzione MATR.SOMMA.PRODOTTO in modo efficace ma purtoppo per il numero di condizioni che vengono usate e per il numero di formule inserite nel foglio, il calcolo diventa lentissimo. Lo ho verificato direttamente sul mio PC quadriprocessore.
La formula usata è la seguente:
=MATR.SOMMA.PRODOTTO((Riepilogo!$C$12:$C$847=$C$5)*(Riepilogo!$H$12:$H$847=$E$15)*(Riepilogo!$I$1:$CF$1=D17)*Riepilogo!$I$12:$CF$847)
Come potete verificare è davvero complessa.
Si può però semplificare enormemente se si aggiunge una colonna di supporto dove si costruisce una chiave univoca del dipendente (codice) e del tipo di ore che questi sta esercitando attraverso una semplice formula:
=C12&H12
nel foglio di riepilogo. A questo punto è possibile con un semplice CERCA.VERT di riportare tuee le informazioni da un fogli all'altro in questo modo:
=CERCA.VERT($C$5&E$15;Riepilogo!$A:$BR;8+2*$D17;0)
Rendendo il foglio enormemente più veloce.
A volte MATR.SOMMMA.PRODOTTO è davvero troppo pesante e rallenta il calcolo. Una colonna o più colonne che permettono di creare dei codici univoci da utilizzare con CERCA.VERT è spesso la soluzione.
Nel file allegato troverete sia il foglio con le formule MATR.SOMMA.PRODOTTO (ne ho eliminate molte per rendere il foglio sufficientemente veloce), sia la soluzione con CERCA.VERT
| Attachment | Size |
|---|---|
| Riepilogo presenze mensili.zip | 39.4 KB |
Scarica la Toolbar!
Post new comment