skate2k5 ha scritto:Qual'è la cella o colonna che comanda nel foglio?...da cui poi credo discendano tutte le altre?
Diciamo che più che una cella è una formula sulla quale si impernia la risposta alla tua esigenza. Tutto il resto diciamo che... prepara i dati per essere gestiti da questa formula.
La formula principale è l'intersezione di due aree e si ottiene con l'operatore ! (punto esclamativo) (La trovi da C6 a C9 del foglio "stampe giornaliere").
Codice: Seleziona tutto
=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)
Infatti, partendo dai dati organizzati nella tabella da F14 a AJ20 (dei fogli mesi) per recuperare un dato nella tabella occorre incrociare il giorno che mi interessa con il reparto.
Bene, vedi la tabella divisa in questo modo:
- ogni giorno è un'area verticale che inizia con il numero del giorno e finisce in corrispondenza di "resi" (riga 18)
- i reparti sono aree orizzontali che iniziano con il nome del reparto e terminano con il valore in corrispondenza del 31esimo giorno
Incrociando (cioè intersecando) un'area giorno con un'area reparto trovo esattamente il corrispondente valore riportato in tabella (noi umani tracciamo col dito fino all'incrocio, nei programmi si usa l'operazione "intersezione"... e come dicevo prima in Calc si usa l'operatore "!").
Se questo è chiaro provo ad andare avanti.
Tutto questo giochetto funziona meglio se "aree in colonna" e le "aree in riga" le chiamo in modo che le aree in colonna si chiamino come il numero del giorno che mi interessa, le aree in riga si chiamino come il reparto che mi interessa.
Qui utilizziamo la funzione di definizione nomi o ancor meglio di creazione automatica nomi disponibile in Calc (in Libreoffice: Foglio - Aree con nomi ed espressioni - Definisci o ancor meglio seleziona la tabella con ctrl+* poi Foglio - Aree con nomi ed espressioni - Crea e poi seleziona l'opzione sia "prima riga" che "colonna di sinistra" così in un batter d'occhio creerà i 31 nomi dei giorni e i 4 nomi dei reparti).
Poi ci viene in aiuto la funzione INDIRETTO che ci permette di fare riferimento alle aree semplicemente menzionandole per nome creato come sopra.
Per il momento la formula in C6 del foglio "Stampe giornaliere":
Codice: Seleziona tutto
=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)
leggila come:
Ossia ad esempio:
- nomino il giorno 9
- con INDIRETTO richiamo l'area verticale riferibile al giorno 9
- nomino il reparto Magazzino
- con INDIRETTO richiamo l'area orizzontale riferibile al Magazzino
- interseco l'area "giorno 9" con l'area "Magazzino" tramite l'operatore "!"
... e ottengo il valore riportato nella tabella.
Mi fermo un attimo... fammi sapere se è tutto chiaro così proseguo.