Premesso che il file sorgente presenta tanti "grattacapi" (leggasi soprattutto celle unite) che non posso limitare/ eliminare perchè condiviso tra vari enti e reparti .
L'obiettivo è quello di ottenere gli scarti giornalieri divisi per turno e per operatore (max 2).
Le formule impostate e funzionanti nel file (foglio di lavoro PRODUZIONE nel range M:P) hanno rallentato i pc in reparto e a questo punto penso di dover passare a VBA.
Conseguentemente nella simulazione allegata, ho creato un foglio di lavoro nuovo ("file esterno") che come da nome diventerà il file di destinazione.
Le formule da trasformare in codice vba sono per la colonna M
- Codice: Seleziona tutto
=MAX(SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))
per N:
- Codice: Seleziona tutto
=SE.ERRORE(MATR.SOMMA.PRODOTTO((SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)=M2)*((SCARTO(INDIRETTO("forno_T09!O"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)+SCARTO(INDIRETTO("forno_T09!P"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))))/MATR.SOMMA.PRODOTTO((SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)=M2)*((SCARTO(INDIRETTO("forno_T09!L"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))));"")
per O:
- Codice: Seleziona tutto
=SE(MIN(SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))=M2;"";MIN(SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)))
per P:
- Codice: Seleziona tutto
=SE.ERRORE(MATR.SOMMA.PRODOTTO((SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)=O2)*((SCARTO(INDIRETTO("forno_T09!O"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)+SCARTO(INDIRETTO("forno_T09!P"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))))/MATR.SOMMA.PRODOTTO((SCARTO(INDIRETTO("forno_T09!R"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6)=O2)*((SCARTO(INDIRETTO("forno_T09!L"&CONFRONTA(MAX($A$2:$A5);forno_T09!$A:$A)+7*(SINISTRA($B2;1)-1));;;6))));"")
Come si può vedere dai miei thread precedenti, normalmente prova ad anticipare qualcosa di "mio" ma in questo caso non so da dove cominciare.
PS Nel futuro file "file esterno" convergeranno i dati anche di altri impianti (in tot.11) quindi spero che l'impaginazione data al foglio stesso sia corretta rispetto all'esigenza.
https://www.dropbox.com/s/rxt17asbo62tz9g/T09_GENNAIO_Cro.xls?dl=0
Grazie in anticipo.