Risolto Sovrapposizioni di dati identici con Matriciale Trasposta

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
Salve a tutti, mi trovo a dover gestire un foglio di calcolo per l'assegnazione dei turni di lavoro. In base al turno ci saranno persone in servizio al mattino, al pomeriggio e la notte, purtroppo per come è concepito il programma mi trovo costretto a diversificare le selezioni POM1-2, MAT1-2, NOT1-2, con un numero di modo che vengano "trasposti" ognuno nella propria cella esatta e non a cascata scegliendo solo pom o matt o nott generico.
Tutto questo solo perché alla fine mi occorre una stampa della programmazione settimanale alla quale i dipendenti si affidano.
Immagino che sarebbe più semplice stampare una griglia diversa, condividere i dati in cloud, però i miei responsabili riescono solo a comprendere questo vecchio foglio...stampato e appiccicato al muro.
Allego file esplicativo senza operazioni matriciali, accetto suggerimenti anche per una semplificazione purché alla fine si ottenga il benedetto foglio da stampare.
Vi ringrazio anticipatamente, siete sempre risolutivi e in tempi davvero notevoli.
 

Allegati

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
Provo a semplificare, comprendo che la prima stesura può essere troppo specifica.
Allego file semplificato.
Trasferire in orizzontale dati in sviluppati in verticale, non sovrapponendo i numeri(nomi) che svolgono lo stesso turno di lavoro.
In origine ho utilizzato una formula matriciale per la trasposizione ma ho problemi perché mi traspone insieme quelli che fanno MAT in un' unica cella, stessa cosa per il POM, il risultato è che poi compare solo il primo numero(nome) che copre quel turno.
Grazie e scusate, mettere in lettere ciò che frulla in testa è cosa non sempre semplice.
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
39.877
2.445
68
Napoli
Office 365
1.284
Ma la tabella sottostante rappresenta il risultato che ti aspetti.

Se si come si spiegano, ad esempio per il lunedi i numeri 2 e 3 in B14 e B15?
 

paoloard

Utente assiduo
Expert
18 Febbraio 2018
3.842
245
fra BO e FE
www.riolab.org
365
505
Ciao.
Dopo aver modificato in A3 il giorno martedi in martedì (con l'accento):
in B14: =SE.ERRORE(AGGREGA(15;6;RIF.COLONNA($A:$F)/(($A$2:$A$8=B$13)*($B$2:$F$8=$A$14));RIF.RIGA(A1));"")

da trascinare a destra e in basso.

La formula in B18 è uguale salvo modificare il riferimento alla cella $A$14 in $A$18.
 

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
Ti chiedo scusa Paoloard, oggi ti ho risposto dal telefono, sono rincasato solo ora e sono subito corso a testare la tua formula.
Con lo schema semplificato funziona perfettamente. Adesso devo solo cercare di adattarla al foglio definitivo, che è un pochino più complesso e sostanzioso.
Dammi il tempo di fare un altro paio di prove interpretando la tua formula e segnalo come "Risolto".
Temporeggio un attimo perché se ho problemi non devo aprire una nuova discussione e frammentare l'argomento in due parti.
Intanto grazie di cuore. Davvero brillante soluzione senza l'utilizzo della trasposizione matriciale. Complimenti.
 

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
Buondì, nella sopracitata operazione è possibile convertire la funzione (15 piccolo) per un valore che non sia quello numerico? 1,2,3,4,5, dovranno essere convertiti in nomi di persone.
Nella seconda griglia i valori dovranno essere restituiti con il nome di ci svolge il turno di lavoro il dato giorno. Ho usato i numeri pensando di semplificare l'esempio, forse ho sbagliato.
 

[email protected]

Utente assiduo
Expert
19 Gennaio 2016
4.619
145
Roma
Excel 2016
454
Ciao
Basta un INDICE

SE.ERRORE(INDICE($B$1:$F$1;AGGREGA(15;6;RIF.COLONNA($A:$F)/(($A$2:$A$8=B$13)*($B$2:$F$8=$A$14));RIF.RIGA(A1)));"")

EDIT Buongiorno Paolo....leggo ora
 

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
Perfetto funziona. Per dovere alle vostre competenze mi sento di dover chiudere la discussione.
Non escludo di rifarmi vivo sullo stesso argomento per cercare di aggiustare la formula alle mie esigenze.
Grazie infinite a tutti.
 

Pazzy

Utente junior
16 Giugno 2020
30
8
San Marino
16.30 2019 Mac
0
La formula è più che corretta ma non riesco ad adattarla alle mie esigenze.
Per i più pazienti allego porzione di file originale alla quale applicare la sopracitata operazione. Il file è composto di 2 fogli.
In "compilazione" lo schema è diviso in due gruppi di colonne, i titolari a sinistra e gli assistenti a destra, lavorano insieme, la riga del giorno della settimana definisce chi è in servizio.
Il risultato va restituito in "trasposizione" dove c'è una griglia calendario dove dovranno impilarsi in fila i nomi dei ragazzi che copriranno i vari turni in base ai giorni della settimana.
I "riposo" scritto minuscolo dovranno comparire nella parte superiore della griglia "trasposizione"
Grazie per l'immensa pazienza.
 

Allegati

paoloard

Utente assiduo
Expert
18 Febbraio 2018
3.842
245
fra BO e FE
www.riolab.org
365
505
Ciao.
A struttura invariata potrei suggerirti la formula per la cella C7:
=SE.ERRORE(INDICE(COMPILAZIONE!$D$1:$T$1;AGGREGA(15;6;RIF.COLONNA($A:$S)/((COMPILAZIONE!$B$2:$B$32=C$6)*(COMPILAZIONE!$D$2:$S$32=$B$7));RIF.RIGA(A1)));"")
da trascinare in basso e a destra.

Per le altre situazioni è sufficiente cambiare i riferimenti e funziona allo stesso modo.
Fai sapere.
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!