Stilare graduatoria
Hai un problema con Excel? 
Stilare graduatoria
di Husky82h (utente non iscritto) data: 13/06/2015 11:48:17
Salve a tutti... spero possiate aiutarmi a risolvere questo problema....
Ho la seguente graduatoria:
hxxp://i58.tinypic.com/28bd561.jpg
I nominativi chiedono di essere spostati in altre sedi scegliendo tre destinazioni...
Le assegnazioni alle nuove sedi si basano sui posti disponibili (ultima tabella a destra) e alle gradutorie per ogni scelta.... queste graduatorie sono già state calcolate in precedenza sono quelle e stop....
Esempio Antonio chiede di spostarsi da Roma a Bologna se non dovesse arrivarci come seconda scelta mette Milano e come terza scelta Torino.... in base alla graduatoria per Bologna è il primo e considerando che i posti disponibili sempre x Bologna sono 2 verrà accontentato alla prima scelta!
Prendiamo per esempio Gianni.... da Torino chiede di spostarsi a Bologna (4°) o Roma(2°) o Napoli(1°)
Visto che x Bologna è il 4° si valuterà la seconda scelta, x Roma è il 2° quindi verrà accontentato alla seconda scelta... e così via per tutti gli altri nominativi...
Ora viene il bello.... se uno viene spostato ovviamente si libera un posto dalla città da cui proviene... andandosi a sommare ai posti disponibili per la città i questione....
La tabella che ho creato avviamente è un piccolissimo esempio ho una graduatoria con 2700 nominativi e più di 100 città... ma io vorrei capire procedimento logico da seguire...
Spero di essermi spiegato bene.... fiducioso in una vostra risposta.... grazie....
di ninai (utente non iscritto) data: 13/06/2015 12:01:04
ciao
il quesito è abbastanza intrigante e credo anche arduo da ottenere (almeno con sole formule), se alleghi un file excel, invece che immagine, mi andrebbe di provare (senza impegno)
di husky82h (utente non iscritto) data: 13/06/2015 12:05:06
Ciao grazie x la risposta.... ti allego il file da me creato... la graduatoria vera non posso passartela per privacy... cmq, ripeto, è giusto per capire il metodo logico da applicare.... grazie ancora
di ninai (utente non iscritto) data: 13/06/2015 16:10:19
ciao
Ho "partirito" qualcosa ma è grezza e si deve testare (non riesco a farlo perchè devo uscire, te la spiego e consegno in attesa di tuo riscontro:
nella tabella delle disponibilità aggiungo tre colonne:
in M "diponibilità extra, derivante da potenziali trasfrimenti dalla sede originaria:
=CONTA.SE($B$2:$B$10;K2)
in N , "non disponibità da esubero, differenza fra quanti posto sono richiesti in citta e quanti sono disponibili)
=CONTA.SE($C$2:$C$10;K2)+CONTA.SE($E$2:$E$10;K2)+CONTA.SE($F$2:$F$10;K2)-(L2+M2)
in O, "disponibilità reale"
=L2+M2-N2*(N2>0)
la somma della precedenti , con N maggiore di zero
Tutte vanno trascinate in basso
A questo punto
in I2:
=SE(D2<=CERCA.VERT(C2;$K$2:$O$6;5;FALSO);C2;SE(F2<=CERCA.VERT(E2;$K$2:$O$6;5;FALSO);E2;SE(H2<=CERCA.VERT(G2;$K$2:$O$6;5;FALSO);H2;"")))
e trascini in basso
ti allego file di lavoro, ripeto, tutto da verificare ed ottimizzare
di husky82h (utente non iscritto) data: 13/06/2015 18:17:50
Grazie ancora x la disponibilità.... mi spiace ma non va come dovrebbe... tra l'altro ho notato un errore su una formula:
=CONTA.SE($C$2:$C$10;K2)+CONTA.SE($E$2:$E$10;K2)+CONTA.SE($F$2:$F$10;K2)-(L2+M2)
al posto di $F$2:$F$10
dovrebbe andare $G$2:$G$10
se non erro.... cmq ne col presunto errore ne senza non va...
Non è facile lo ammetto... ma il bello è anche questo....
Cmq ho allegato il file originale della graduatoria modificato con nomi fasulli... almeno vi potete fare un'idea più chiara....
Grazie ancora...
di ninai (utente non iscritto) data: 14/06/2015 14:40:00
ciao
ho ripreso il lavoro
a parte il refuso nella formula, in effetti il procedimento "faceva acqua" da molte parti.
Ho tentato, sempre con formule, a mettere a punto un altro sistema che con più assegnazioni successive (5), aggiungendo man mano, in colonne separate, le disponibilità che si vengono a creare.
andava testato con un file ridotto ma rappresentativo. Ho voluto mettere le formule nel file completo ma non riesco a testarlo bene. Fallo tu e mi fai sapere.
Non mi rispondere solamente "il file non va", cerchiamo di capire perchè e dove eventualmente non funziona.
ps
per comodità ho messo l'elenco delle disponibilità nello stesso foglio (eventualmente si sposta)
Resto convinto che è "roba da VBA"
di Husky82h (utente non iscritto) data: 14/06/2015 14:46:37
Ciao ninai ...anche secondo me è roba da vba... infatti sto provando e riprovando sempre tramite macro....
ma è parecchio complicato perchè devo eseguire più passagi....
Primo passaggio per cercare di riempire i posti disponibili iniziali
I vari passaggi per cercare di riempire i posti che si liberano dalle città liberate (scusa il gioco di parole)... e così via fino ad esaurimento delle domande....
di ninai (utente non iscritto) data: 14/06/2015 15:14:39
testa la mia ultima proposta, penso di esserci andato vicino.
La cosa che vorrei sapere è:
nel caso di assegnazione di 2° o 3° scelta, se si liberano posti nella prima scelta si deve rivalutare la graduatoria e cambiare l'assegnazione????
oppure
una volta assegnata la sede, eventuali nuove disponibilità vanno ai successivi in graduatoria.
con il mio lavoro puntavo alla prima eventualità
di husky82h (utente non iscritto) data: 14/06/2015 15:36:01
Hai centrato il concetto e anche l'eventualità.....
Se inizialmente vengo accontentato alla 2^ scelta e in base ai vari spostamenti si libera posto per la 1^ verrò accontato per quest'ultima...
Hai scaricato il file originale delle assegnazioni finali in modo da avere un riscontro?
Io nel frattempo cerco di capire il tuo ragionamento logico e fare vari test....
Sempre grazie...
di husky82h (utente non iscritto) data: 14/06/2015 15:39:28
scusami non avevo ancora uppato il file "ASSEGNAZIONI".... è la graduatoria finale che il ministero pubblicherà già pronta, modificata da me con nomi fasulli.... ma non riesco ancora a capire il metodo logico applicato x stilarla.....
di husky82h (utente non iscritto) data: 14/06/2015 15:56:43
ad una prima occhiata, cmq, sembra che tu sia sulla buona strada....
Vuoi Approfondire?