Condividi:        

sorteggio

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

sorteggio

Postdi gianluigi1973 » 30/09/18 18:23

buonasera a tutti,
scusate ma io sono autodidatta con excel e quello che so per lo più l'ho imparato leggendo i vostri post, quindi il problema che vi pongo è magari una cosa semplicissima ma io non sono riuscito a venirne a capo.
Ho creato un sorteggio con la formula =INDICE(A$2:A$41;RANGO($J2;$J$2:$J$41))dove A2:A41 è l'elenco dei numeri da sorteggiare (da 1 a 40) ai quali ho abbinato un nome con la funzione CERCA.VERT, che a sua volta sempre con un'altra funzione CERCA.VERT riporto in un secondo foglio di lavoro divisi in 4 gruppi da 1-10, 11-20 ecc.
Purtroppo però ogni volta che vado a registrare il risultato di ogni singolo partecipante e do invio, viene effettuato nuovamente il sorteggio anche se non premo F9.
E' possibile effettuare il sorteggio una sola volta e magari vincolarlo al solo tasto F9?
Grazie
gianluigi1973
Newbie
 
Post: 5
Iscritto il: 16/09/18 18:16

Sponsor
 

Re: sorteggio

Postdi wallace&gromit » 01/10/18 15:52

Ciao Gianluigi, benvenuto nel forum,
abbozzo due soluzioni, ma sicuramente ci sono altre vie, vediamo se qualcuno ha idee diverse.

- rendere il calcolo delle celle sempre manuale: File/Opzioni/Formule/Opzioni di calcolo, scegli "manuale" e togli la spunta a ricalcola celle prima del salvataggio.

- creare una macro che faccia il sorteggio solo su richiesta
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: sorteggio

Postdi gianluigi1973 » 01/10/18 17:09

Perfetto la prima soluzione è andata benissimo anche perchè con la macro avevo provato ma avevo sempre lo stesso problema.
Gentilissimo grazie mille. :)
gianluigi1973
Newbie
 
Post: 5
Iscritto il: 16/09/18 18:16

Re: sorteggio

Postdi gianluigi1973 » 01/10/18 17:23

scusatemi di nuovo, ma facendo girare il programma mi sono accorto che con questo sistema la formula CERCA.VERT non pesca più in automatico i dati del risultato per abbinarli al nome :(
gianluigi1973
Newbie
 
Post: 5
Iscritto il: 16/09/18 18:16

Re: sorteggio

Postdi Anthony47 » 01/10/18 21:58

Usando le "formule" la tabella del secondo foglio rifletteranno sempre il contenuto dei dati di partenza, mentre tu vorresti (immagino) che i risultati precedenti vengano congelati. Il calcolo "manuale" non modifica questo comportamento.
Per questo dovrai usare una macro, ma per sviluppare la macro serve conoscere esattamente quali sono i dati di partenza, quale il risultato che si vuole ottenere e tramite quali modalita'.
Potresti ad esempio allegare un file dimostrativo con i dati di partenza e quanto ottenere, e descrivere le modalita' con cui va eseguito il sorteggio (tralasciando il "come" andrebbe fatto tramite Excel).

Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: sorteggio

Postdi gianluigi1973 » 02/10/18 17:21

ciao a tutti,
allora il mio obbiettivo è effettuare un solo sorteggio all'inizio che a cascata creerà 4 gruppi di 10 persone numerandole da 1-10,11-20,21-30 e31-40 che poi a loro volta si andranno a rimischiare secondo una sequenza da me predeterminata riportata nell'ultimo foglio denominato "SETTORI".
Ad ogni turno ogni concorrente(ho nominato i concorrenti per numero per mia comodità) riceverà un punteggio che dovra sommarsi turno per turno senza mai rieffettuare il sorteggio e quindi cambiare la sequenza dei gruppi.
http://www.filedropper.com/adm_3
gianluigi1973
Newbie
 
Post: 5
Iscritto il: 16/09/18 18:16

Re: sorteggio

Postdi Anthony47 » 03/10/18 00:10

allora il mio obbiettivo è effettuare un solo sorteggio all'inizio che a cascata creerà 4 gruppi di 10 persone numerandole da 1-10,11-20,21-30 e31-40 che poi a loro volta si andranno a rimischiare secondo una sequenza da me predeterminata riportata nell'ultimo foglio denominato "SETTORI".

Non indichi particolari esigenze legate al sorteggio, quindi ti propongo questo metodo che applicheremo al foglio 1°turno

Intanto in foglio tabella generale in colonna B tu hai l'elenco fisso delle persone da "sorteggiare"; la colonna C non ci interessa piu', come pure la J e la K
Nel foglio 1°turno tu gia' ricrei l'elenco delle persone in colonna K usando un "collegamento" alla colonna C di foglio tabella generale; modifica questo collegamento alla colonna B, cioe' all'elenco statico dei nominativi.
La nostra macro andra' a modificare i numeri di colonna J del foglio selezionato; in questo modo, sfruttando la numerazione che hai gia' inserito in colonna A, le formule gia' presenti in colonna B creeranno degli elenchi casuali.

Valuta tu se non sia piu' conveniente, in colonna L, che la formula attuale =CERCA.VERT(K2;B3:C60;2;FALSO) non sia meglio convertirla in =CERCA.VERT(J2;B3:C60;2;FALSO)
Cioe' se non sia piu' opportuno usare il "numero" piuttosto che il "Nominativo" come chiave del Cerca.Vert; questo per gestire eventuali omonimie.

La macro che "sorteggia" i numeri da inserire in colonna J:
Codice: Seleziona tutto
Sub Mixer()
Dim MxCol, ShArea As Range, I As Long
Dim miSh As Long, maSh As Long, Try As Long
'
MxCol = Application.Match("CONCORRENTE", Range("F1:AZ1"), False)
If Not IsError(MxCol) Then
    Set ShArea = Range(Cells(2, 5 + MxCol), Cells(2, 5 + MxCol).End(xlDown))
    miSh = 1
    maSh = Application.WorksheetFunction.CountA(ShArea.Offset(0, 1))
    ShArea.ClearContents
    Randomize
    For I = miSh To maSh
reTry:
        Try = Int(Rnd() * maSh) + 1
        If Application.WorksheetFunction.CountIf(ShArea, Try) = 0 Then
            ShArea.Cells(I, 1) = Try
        Else
            GoTo reTry
        End If
    Next I
Else
    MsgBox ("Non trovata la colonna Concorrente nell'intervallo F1:AZ1" & vbCrLf _
       & "Nessun Sorteggio effettuato")
    Exit Sub
End If
End Sub


Per inserire il codice:
-premi Alt-F11 per aprire l'editor delle macro
-Menu /Inserisci /Modulo
-Copia il codice e incollalo nel frame dx del modulo appena creato

Poi torna su Excel e quando vuoi "sorteggiare" i nominativi seleziona il foglio su cui lavorare e lancia la macro Mixer:
-premi Alt-F8
-seleziona Mixer dall'elenco di macro disponibili
-premi Esegui
Oppure associa a un pulsante da inserire sul foglio su cui vuoi lavorare.

Non ho capito il significato degli altri fogli; quanto fatto per il foglio 1°turno puo' essere replicato sugli altri fogli (la colonna in cui verra' variato il numero sorteggiato viene identificata automaticamente)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: sorteggio

Postdi gianluigi1973 » 03/10/18 19:21

Innanzi tutto grazie per il tempo dedicato, la tua soluzione sembra funzionare perfettamente devo solo un attimo risistemare la presentazione, per spiegarmi meglio si tratta di un tabellone che prima veniva fatto manualmente riguardo ad una gara di pesca :D .
Questa si svolge per 4 turni distribuiti su due giorni dove i 40 pescatori vanno divisi in settori da 10 concorrenti, i quali comunque rimischiandosi nelle turnazioni successive non potranno riprendere la stessa sponda(il colore) e lo stesso numero di picchetto avuto nei turni precedenti.
I fogli sono dovuti al fatto che oltre alla classifica generale (quella che vede vincere il maggior peso totale dei 4 turni) esiste anche una premiazione per turno e per settore (colore).
Grazie ancora
ciao
gianluigi1973
Newbie
 
Post: 5
Iscritto il: 16/09/18 18:16


Torna a Applicazioni Office Windows


Topic correlati a "sorteggio":


Chi c’è in linea

Visitano il forum: Nessuno e 85 ospiti

cron