TURNAZIONE CICLICA AUTOMATICA

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
morenomax
00martedì 5 gennaio 2016 14:55
HELP TURNAZIONE CICLICA AUTOMATICA
Salve a tutti, ho un quesito.
Sto creando un foglio di lavoro con dove inserire le turnazioni del lavoro di tutto l'anno.
Ho già creato un calendario che da la possibilità selezionando l'anno desiderato di ottenere in automatico il numero e giorno per mese.
Vorrei quindi creare un ciclo dove associo ad un determinato giorno un turno ( i turni iniziano con 2,2,3,3,3,sco,r) e seguono gli altri, in modo tale che cambiando anno cambiano anche in automatico tutti i turni.
Qualcuno sa darmi qualche informazione in merito?
grazie
Kyuss-RA
00martedì 5 gennaio 2016 16:09
Re: HELP TURNAZIONE CICLICA AUTOMATICA


immagino si tratti di un foglio in cui nella prima colonna hai una data che, per esempio (tanto per rimanere nel contesto di quest'anno),in 366 righe va dal 01/01/2016 al 31/12/2016 .

Cominci a scrivere il primo pattern di turni nella colonna in cui intendi avere i turni mettendo per ogni giorno della prima colonna il corrispondente turno. Appena hai finito il pattern e dovresti ricominciare un nuovo pattern, non fai altro che selezionare il patern appena inserito, vai nell'angolo in basso destra (la tua che osservi) della selezione e trascini il + fino alla riga del 31/12/2016.

Volendo si può anche fare una macro ma devi comunque partire da un pattern di turni iniziale con non è lo stesso al cambiare dell'anno.






morenomax
00martedì 5 gennaio 2016 16:15
Re: HELP TURNAZIONE CICLICA AUTOMATICA
Esatto quello che dici tu è già stato fatto quello che non riesco a fare è cambiando l'anno far continuare i turni in automatico senza doverli inserire io, in modo tale che se volessi vedere tra 3 anni che turno faccio in una determinata data riesco a vederlo.
Aehfalas
10giovedì 7 gennaio 2016 12:07
Salve, forse ho una soluzione abbastanza semplice al problema.
Posto che i turni siano appunto ciclici e quindi non subiscano variazioni, la soluzione più semplice è di predisporre i turni di una settimana, o di un mese, o di un anno, a seconda di quanto è lungo il ciclo da ripetere, in un'unica colonna o riga, o eventualmente una tabella.
é anche possibile (e lo consiglio), predisporre l'elenco come tabella in un secondo foglio a cui poi si farà riferimento, tenendolo nascosto.
Nel primo foglio avremo quindi una colonna con le date (es: 01/01/2016)
E una seconda con i turni, giorno per giorno.
L'idea è di utilizzare la formula indice per la colonna dei turni.
=INDICE(matrice;riga;colonna)
Una volta fatta questa operazione per il primo ciclo di turni, sarà sufficiente copia incollare questa serie di formule per il mese o l'anno successivo, quale che sia e l'operazione verrà ripetuta.
C'è un'alternativa complicata che implica l'utilizzo della formula SE e INDICE insieme, per cui "=SE(CELLA=DATA;INDICE(MATRICE;RIGA;COLONNA))" o qualcosa del genere, ma non l'ho testata ed è solo teoria al momento, potrebbe però risolvere il tuo problema in modo migliore se funzionasse.
morenomax
00giovedì 7 gennaio 2016 17:38
formula indice
Quindi utilizzando la formula INDICE(matrice;riga;colonna), come matrice cosa seleziono? il ciclo di turni?
morenomax
00giovedì 7 gennaio 2016 19:04
OK
SONO RIUSCITO AD UTILIZZARE LA FUNZIONE INDICE PERO UGUALMENTE DEVO INSERIRE IO MANUALMENTE TUTTI I DATI.
NON SI RIESCE A DIRE: IL CICLO TURNI E' QUESTO;INIZIA DA QUESTA DATA E RIPETI IL CICLO IN AUTOMATICO FINO A QUESTA DATA?
HO ALLEGATO I DUE FOGLI DEL LAVORO CHE STO FACENDO
Berna11
00giovedì 7 gennaio 2016 20:49
Ciao Moreno, visto che sei nuovo permettimi di farti notare un paio di cose.
La prima di non scrivere in maiuscolo nel forum sembra che si urli.
La seconda le immagini non sono gradite da chi vorrebbe darti una mano.
Significa ricrearsi la tua struttura/situazione ex novo e capisci bene se tu l'hai già pronta tanto vale allegare il tuo file per poterci lavorare sopra e fare le necessarie prove.
Quindi, se puoi allegare il file, spiega bene cosa vorresti ottenere quanti sono le persone in turno e la sequenza di turno che va fatto.
morenomax
00venerdì 8 gennaio 2016 05:19
Mi scuso se ho scritto in maiuscolo non pensavo di creare problemi, secondo pensavo di dare un idea del lavoro che sto facendo più tardi alleghero' il file allora grazie
Aehfalas
00venerdì 8 gennaio 2016 09:59
Allora credo di aver capito cosa vuoi ottenere, ma il problema è che i dati devi averli già da qualche parte, perchè il programma non se li può inventare.
Se ho capito bene ciò che vuoi ottenere, la soluzione che secondo me si avvicina di più al risultato è creare un database in un secondo foglio che poi rimane nascosto in modo che non appaia, come ti avevo detto.
E per questo andrebbe benissimo anche la tabella che hai creato nella prima immagine.
Per evitare di dover fare copia incolla, dovresti creare una macro, in pratica dovresti fare in modo che quando inserisci un dato valore in una cella, ad es. "Gennaio", il programma copia incolla nelle celle adiacenti i turni di Gennaio.
L'unico modo per farlo è usare una macro che copia incolla in automatico, io userei il comando IF o Change, però siccome non sono esperto dovrai adattare una macro per copia incollare recuperata da qualche parte, avendo tempo e avendo a disposizione il tuo file potrei lavorarci.
Comunque questo serve perchè?
Perchè tu hai bisogno di creare a priori un database che attraversi diversi anni, anche 10, 20 anni e più.
L'ho fatta un po' lunga ma sto arrivando al punto: la tabella ti serve perchè poi in un altro foglio tu ti dovresti creare una specie di funzione di ricerca, per cui da una parte, a sinistra ad esempio, avrai un menù a tendina, nel qualche inserirai con convalida dati, dopo aver dato un nome opportuno alle celle contenenti le date, un elenco di valori appunto che poi sarà molto più facile selezionare.
Esempio pratico: io ho 4 celle contenenti GEN, FEB, MAR, APR; le seleziono, vado in alto a sinistra nell'angolo di incrocio fra righe e colonne delle intestazioni e rinomino queste celle chiamandole ad esempio "mesi".
Poi vado nel primo foglio, scelgo una cella, vado in TAB DATI, convalida dati, scelgo elenco e digito "=mesi".
Così nella cella selezionata apparirà un menu a tendina con i nostri 4 mesi selezionabili.
Affianco devi selezionare in un'altra colonna o riga, come preferisci, 31 celle (tante quanti i giorni del mese.
In queste celle devi mettere una funzione di cerca verticali (perchè mi sembra che hai messo i turni in riga anzichè in colonna) e così dato un mese nel menu a tendina, ti darà immediatamente i turni relativi.
Il problema però è come hai impostato la tabella.
Le funzioni cerca verticali e orizzontali, purtroppo non vanno d'accordo con le omonimie, quindi l'impostazione GEN FEB MAR ecc. non va bene, dovresti impostare delle date univoche, quantomeno aggiungendo l'anno, quindi ad es. GEN-2016 FEB-2016 e poi GEN-2017 o FEB-17 ecc. In modo che poi la funzione non ti dia errore come risultato, o meglio ti visualizzi dei turni errati.

P.S.
Ho creato rapidamente un file per far comprendere cosa intendo invece di usare mille parole, ho preparato dei turni ovviamente fittizzi in una tabella, con una funzione di ricerca nel primo foglio.
I turni sono relativi a due anni, se si vuole un periodo più lungo è sufficiente estendere la tabella, trascinare le date con il più e continuare la serie di turni magari copia incollandoli.
Fatto questo con la funzione di ricerca, visualizzare i turni è immediato e semplice.
morenomax
00venerdì 8 gennaio 2016 12:07
Appena rientro a casa inserisco il file che sto creando e provo a dare un occhio a quello che hai creato tu velocemente. Per il momento ti ringrazio per il tempo che mi stai dedicando
morenomax
00venerdì 8 gennaio 2016 19:47
file
Eccomi, non ho ancora avuto tempo di provare il file che hai creato e di provare le soluzioni che mi hai proposto però ti allego il file che sto creando.
morenomax
00venerdì 8 gennaio 2016 19:57
soluzione proposta
Il foglio che hai creato è una soluzione molto buona e si avvicina a quello che ho in mente io.
Unica cosa, se guardi il file che ho allegato, ci sono due condizioni in alto a sinistra, la squadra, perchè per ogni squadra i turni cambiano, e l'anno.
A differenza del tuo foglio a me piacerebbe se possibile,selezionare da elenco solo l'anno e ottenere come risposta i turni di tutti i mesi di quell'anno.
Quindi in sostanza io seleziono l'anno e in base a quello ed alla squadra selezionato ottengo i turni.
Comunque ripeto la tua soluzione è molto valida, secondo me lavorandoci ancora un po si arriverà ad un'ottima soluzione.
In fine rispondendo al tuo post di oggi, la tabella l'ho esclusivamente impostata in quella maniera perchè poi ho la necessità di stampare i turni in formato A4 e sono impostati cosi da azienda solo per quello.
Aehfalas
00sabato 9 gennaio 2016 13:19
Sto esaminando il tuo file, ma dire che è complicato è dire poco, ci vuole una laurea per capirci qualcosa. [SM=x423024]
Comunque sia per far funzionare una ricerca quell'impostazione non va bene, innanzitutto perchè la tabella, non è Formattata come tabella, operazione fondamentale per usare le funzioni cerca verticali e orizzontali.
Ma anche per il semplice fatto che i mesi nei diversi anni generano delle omonimie fra loro: (GEN-GEN)
Perchè funzioni bisogna che i mesi siano indicati almeno insieme all'anno: (GEN-16, GEN-17) ecc. Questo si può fare con una formula DATA.MESE e impostando il formato cella di conseguenza.
Se quel foglio ti serve così com'è non è un problema, ti basterà farne una copia che andrai eventualmente a modificare secondo le tue esigenze, così quello resta.
Basta fare click destro col mouse sull'etichetta del foglio in basso, clicchi su "sposta o copia..." e fai bene attenzione a spuntare la casella "Crea una copia".
Se poi non vuoi che si veda, una volta pronto, il foglio si può nascondere.
I mesi inoltre devono trovarsi sulla stessa riga dei turni e non dei giorni perchè la ricerca funzioni, diversamente sarà necessario aggiungere un passaggio perchè tutto funzioni e la ricerca di fatto non sarà però più basata sul mese, ma sul giorno specifico.
Ho provato a usare una tabella pivot che in teoria usando i filtri avrebbe fornito una soluzione molto più semplice, ma per qualche motivo che ancora non sono riuscito a chiarire non funziona, perchè non prende in considerazione diversi dati, tra cui i mesi, ma solo i giorni e solo per un anno.
Io ora ho inserito i mesi in manuale giusto come esempio e per vedere come può funzionare, ma usare la formula DATA.MESE è la cosa migliore.

N.B.
Allego il file di esempio; ho aggiunto tre fogli: "Ricerca", "TabellexRicerca" (dove si trova la copia del foglio in cui creare il database per i diversi anni e "Anni_Mesi" dove si trova la tabella che è necessaria per dare un riferimento alla formula di ricerca.
Ti consiglio di fare bene attenzione al mese di gennaio per i due anni 2016 e 2017 che ho usato come esempi, perchè io ho fatto un copia incolla dell'anno originale, quindi i turni risultano identici, ma ho cambiato quelli di gennaio per il 2017 (un po' a caso, ma giusto perchè ti possa rendere conto del funzionamento e della validità del metodo e di come cambiano selezionando un anno diverso).
Noterai inoltre che i turni risultano un po' sballati probabilmente, perchè io non sono stato attento a quali giorni debbano essere effettivamente riposi e quali lavorativi: a gennaio infatti i turni iniziano dalla sesta giornata, mentre gli altri mesi sono coperti sin dall'inizio.
Poichè alcuni mesi non hanno turni negli ultimi giorni, noterai anche che alcune formule danno risultato zero.
Questa è una cosa che si può cambiare dalle impostazioni di Excel, cliccando sul Tasto rotondo in alto a sinistra apri il menu dove si trovano le opzioni "nuovo", "apri" e "salva", clicca su "impostazioni di Excel" e vai su "impostazioni Avanzate"; alla voce "opzioni di visualizzazione per il foglio di lavoro" togli la spunta da "visualizza zero nelle celle con valore zero" e il gioco è fatto. [SM=g27811]
Spero di esserti stato d'aiuto. [SM=g27811]

P.S.
Ho fatto un'ulteriore modifica al file, sempre nel foglio "Anni_Mesi" ho predisposto i turni in orizzontale, su un'unica riga, con sopra la serie numerica.
In pratica essendo i turni ciclici, ovvero ripetendosi sempre a partire dal primo, una volta predisposte le tabelle per ogni anno dovrai solo copia incollare in sequenza i turni per ogni mese.
Ad. Es. nel 2017 il primo giorno lavorativo di Gennaio si comincerà con il primo turno della serie, essendo i turni esauriti tutti nel 2016, si ricomincerà da capo, quindi poniamo che a Gennaio i turni consecutivi saranno 26 a partire da tale giorno, selezionerai i primi 26 turni e li copia incollerai a partire da tale giorno, Febbraio comincerà a partire dal turno n° 27 per 28 giorni e Marzo inizierà con il turno n° 55 per 31 giorni e così via.
Purtroppo questo metodo non tiene conto di sabati e domeniche, per questo i turni vanno impostati manualmente, potresti utilizzare la formula SE per sostituire il testo nelle celle con sabato e domenica se devono essere riposi: =SE(A24="dom";"R";" ";).
Lo spazio finale tra doppi apici c'è nel caso la formula dia risultato falso, in modo che compaia una cella "vuota" anzichè "ERRORE" o "N/D".
Oppure puoi predisporre i turni e poi usare "Trova e Seleziona" quindi "sostituisci" per cambiare i turni di sab e dom.
L'ultima alternativa è usare il VBA con l'impostazione IF, che poi otterrebbe lo stesso risultato della formula SE; ma in questo non sarei in grado di aiutarti.
Più di così non so fare, spero di averti aiutato.
Poberto17
10domenica 30 aprile 2017 22:39
SEI GRANDE [SM=x423028]
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 02:52.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com