calcoli tra tabelle diverse



  • calcoli tra tabelle diverse
    di Turista73 (utente non iscritto) data: 16/12/2012 10:54:02

    Buongiorno a tutti, sono sicuro che troverete una soluzione al problema che Vi espongo, l'obiettivo è conoscere in una determinata data quante ore di presenza uomo (U) ha in una specifica macchina (M).
    1° tabella: in una colonna ho date dal 1/1/13 al 31/12/13, in ogni singola cella di una sola riga ci sono valori da U1 a U100, all'incrocio tra un cella con data e una cella con U c'è un valore in ore di presenza di U es.8
    ------------U1 U2 U3
    01/01/2013 8 2 5
    02/01/2013 8 2 5
    03/01/2013 8 2 5
    2° tabella: in una colonna ho date dal 1/1/13 al 31/12/13, in ogni singola cella di una sola riga ci sono valori da U1 a U100, all'incrocio tra un cella con data e una cella con U c'è la macchina M di assegnazione ad una determinata U.
    ------------- U1 U2 U3
    01/01/2013 M3 M3 M1
    02/01/2013 M3 M3 M2
    03/01/2013 M3 M3 M1
    3° tabella: in una colonna ho date dal 1/1/13 al 31/12/13, in ogni singola cella di una sola riga ci sono valori da M1 a M100, all'incrocio tra un cella con data e una cella con M devo CALCOLARE il risultato di quante ore di presenza U ho per ogni macchina M in una determinata data (ora è stato compilato a mano).
    ----------- M1 M2 M3
    01/01/2013 5 0 10
    02/01/2013 0 5 10
    03/01/2013 5 0 10

    Grazie



  • di Vecchio Frac data: 16/12/2012 13:49:49

    In pratica, per ogni data (riga) di tabella3 devi contare quante ricorrenze di M1, M2, ..., M100 ci sono in tabella2 e moltiplicare tale valore per il rispettivo U1, U2, ..., U100 di tabella1.
    Giusto?




  • calcoli tra tabelle diverse
    di Turista73 (utente non iscritto) data: 16/12/2012 21:46:00

    In pratica nella tabella 3 quello che NON vorrei avere è il monte ore totale per quel giorno (15 ore totali nel 1/1/13), ma vorrei essere in grado di distinguere per ogni singolo giorno quante ore uomo ho per la macchina M1, M2, M3...M100, per arrivare a questo devo appoggiarmi alla tabella 2 (dove abbino l'uomo/uomini alla macchina) e alla tabella 1 (dove dichiaro quante ore è presente ogni singolo uomo un una determinata data, 8 ore piuttosto che 5 e così via).

    Queste tre tabelle saranno in 3 diversi fogli di calcolo.



  • di Vecchio Frac data: 16/12/2012 21:47:14

    Nel mentre aspettavo che arrivasse qualche indicazione in più, ho elaborato la soluzione che segue (no codice, solo formule).
    Ho creato tre tabelle in tre distinti fogli della cartella di lavoro e le ho chiamate con molta fantasia tabella1, tabella2 e tabella3. Per le prove mi sono limitato allo schema fornito da Turista73, quindi al momento ci sono solo tre date per riga.
    Ho definito i nomi delle tre tabelle in accordo (tabella1, tabella2 e tabella3).
    Nella tabella3, che è quella che deve mostrare i risultati dell'elaborazione, ho infine inserito la seguente formula, resa generica in modo da poterla trascinare a destra (per tutte le colonne di ogni riga della tabella stessa) e in basso (per tutte le righe della tabella):

    =SOMMA.SE(INDICE(tabella2;RIF.RIGA();0);INDICE(tabella3;1;);INDICE(tabella1;RIF.RIGA();0))

    La formula è molto carina e spero che serva allo scopo.
    In pratica effettua la somma dei valori che trova in tabella1 in corrispondenza di ogni valore M che trova in tabella 2 se in accordo con l'intestazione di colonna della tabella3, per ogni colonna pertinente.
    Insomma, è da provare :)

    Per comodità e chiarezza allego il file che ho creato allo scopo.






  • di Vecchio Frac data: 16/12/2012 21:49:04

    Mentre scrivevo la mia risposta è arrivata la tua precisazione, che conferma la mia intuizione... prova il file e fai sapere.




  • calcoli tra tabelle diverse
    di Turista73 (utente non iscritto) data: 17/12/2012 19:11:04

    Bene, ora però ho ampliato nella tabella 1, 2,3 la data fino al 31/1/13, poi nella tabella 2 sono arrivato fino ad U10, mentre nella tabella 3 fino ad M10, per comodità tutte le U (tab1) lavorano 8 ore, poi in tab2 ad U1 ho associato sempre M1, ad U2 associo M2 così via, ma se trascino la cella con la formula ottengo 0 dalla colonna E inclusa in poi e dei #rif! dalla riga 5 in poi.
    Come si può capire ne ignoro la causa, ora cerco di capire come funziona la formula INDICE, ma è la formula INDICE con matrice o riferimento?

    Grazie ancora.



  • di Vecchio Frac data: 17/12/2012 19:25:22

    INDICE è usata nella versione per matrice.
    Ma scusa, hai ampliato le tabelle ma ti sei ricordato di ridefinire i nomi tabella1, tabell2 e tabella3 fino a ricomprendere il nuovo range? ^_^
    Inserisci --> Nome --> Definisci e poi clicchi sui tre nomi di tabella, allunghi il range per comprendere tutti i dati e poi clicchi su aggiungi. Tutto tornerà a funzionare :)




  • calcoli tra tabelle diverse
    di Turista73 (utente non iscritto) data: 17/12/2012 19:26:24

    Sono ignorante come un sasso, ho ampliato il riferimento delle tre tabelle in definisci nome.

    Tutto ok, ora funziona proprio come volevo.

    Grazie Vecchio Frac

    Se durante l'ampliamento del file avessi altre domande posso rompere le scatole?



  • di Vecchio Frac data: 17/12/2012 19:41:13

    Come no, nessuno "rompe le scatole" qui.
    Chiedi pure quando vuoi :)