Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Excel] Sfruttare la funzione CASUALE() per effettuare sorteggi

    Salve.
    Come da titolo vorrei sfruttare la funzione CASUALE() di Excel per ottenere una serie di risultati, adattabili alle varie esigenze, per esempio sorteggiare gli accoppiamenti per il tabellone di un torneo.
    Siccome la funzione CASUALE() restituisce un numero compreso tra 0 e 1, ho suddiviso tale intervallo in tante parti quante sono le voci da sorteggiare, per esempio 10, associando alla prima voce i valori casuali tra 0,000 e 0,099; così di seguito per la seconda voce tra 0,100 e 0,199, ecc...
    Già così il risultato sarebbe ottenuto (se una voce viene sorteggiata due volte, si sceglie manualmente quella immediatamente successiva in elenco), ma vorrei qualcosa di più automatico, tipo una formattazione condizionale della cella contenente la voce selezionata in base al valore casuale uscito.
    Esempio, tutte le voci da sorteggiare sono incolonnate, CASUALE() fornisce 0,255 cui corrisponde la terza voce, quindi Excel mi evidenzia la cella contenente la terza voce.
    Non ho problemi ad affiancare alla colonna delle voci da selezionare due colonne con i valori minimi e massimi cui ciascuna voce corrisponde, in modo che la formula possa leggere tali valori:
    Colonna I | Col. K | Col. L
    squadra 1 | 0,000 | 0,099
    squadra 2 | 0,100 | 0,199
    ...

    Cerco di costruire qualcosa tipo:
    codice:
    se 0,000<=CASUALE()<0,099 allora colora sfondo della cella di "squadra 1";
    se 0,100<=CASUALE()<0,199 allora colora sfondo della cella di "squadra 2";
    ...
    Effettuando un ricalcolo di CASUALE(), cambia la cella colorata...

    E' possibile ottenere una cosa del genere con la formattazione condizionale?
    Ultima modifica di Gas75; 10-05-2016 a 18:22

  2. #2
    Ho adottato una soluzione provvisoria.
    Accanto alla colonna I con le varie squadre, ho aggiunto una colonna dove ho combinato un doppio controllo SE [=SE(E(condizione1;condizione2);"OK";" ")] basato sui valori entro cui l'esito di CASUALE() è tale da essere associato alla squadra di tale riga: in caso di esito positivo del controllo, Excel visualizza OK accanto al nome della squadra, viceversa resta la cella vuota.

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, premetto che con questa risposta non ho da darti soluzioni con excel (per il momento) ma, mettendo da parte il fatto che si possa comunque risolvere in vari modi in excel e prima di pensare allo sviluppo di una soluzione efficace e semplice da usare, ti chiedo se devi necessariamente farlo in excel o se puoi usare altri sistemi.
    Ad esempio, se il tuo obiettivo è semplicemente quello di elaborare il sorteggio delle squadre e organizzare calendari per dei tornei, esistono dei sistemi già pronti che puoi trovare anche online. In tal caso basta una semplice googleata con una roba tipo: "sorteggio squadre torneo".

    La mia è giusto un'osservazione, non che voglia forviarti da ciò che avevi pensato di fare.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Osservazione più che giusta, certo.
    Tuttavia usando Excel l'obiettivo è anche quello di rendere versatile questi sorteggi anche per simulare altre attività associando la funziona CASUALE() alle carte da gioco, ai dadi, alla tombola... insomma a eventi che non devono necessariamente essere messi in un tabellone di torneo, ma che possono invece costituire dei risultati, delle estrazioni...

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Capito.
    Se può interessarti ho comunque sviluppato (per puro diletto) un foglio di calcolo che più o meno fa quanto hai chiesto (o forse anche di più ).
    In breve, data una lista di nomi in una prima colonna, li estrae in modo casuale (senza ripetizioni) riportandoli in una seconda colonna; quindi, su questa, raggruppando i nomi a due a due si ottengono gli accoppiamenti.

    Una caratteristica fondamentale di questo sistema è quella che prevede una distribuzione casuale, usando la formula CASUALE(), ma senza appunto creare ripetizioni di elementi.

    Ho fatto qualche ricerca ma non ho trovato delle soluzioni valide a meno di utilizzare delle macro.
    Per cui ho provato personalmente ad elaborare un algoritmo utilizzando solo formule per poter ottenere una lista di valori casuali ma senza doppioni. Credo di esserci riuscito.

    Inoltre, ho impostato il sistema in modo che il tutto sia automatico, dall'elaborazione alla formattazione, sfruttando solo formule e formattazioni condizionali. Basterà inserire, sulla prima colonna, la lista di nomi; questa può essere variabile, quindi si possono aggiungere o togliere semplicemente degli elementi, e il sistema riporterà in automatico (premendo F9) la lista rielaborata secondo un ordine casuale e formattata opportunamente.

    Ho utilizzato Excel 2010.

    Per il momento allego uno zip del file xlsx (versione per excel 2007 o superiore).
    Se riesco, cerco poi di spiegare i vari passi del procedimento che ho adoperato per realizzarlo.

    Nota: per quel file ho disattivato volutamente l'aggiornamento automatico delle formule, così che i valori non siano rielaborati ad ogni apertura del file o ad ogni variazione sul foglio stesso (cosa che potrebbe creare problematiche se si intende salvare una certa elaborazione) ma l'elaborazione va eseguita manualmente premendo F9 da tastiera.

    Questa opzione è accessibile da "File > Opzioni > Formule > Calcolo cartella di lavoro:"

    Per quel file dovrebbe quindi risultare impostata come "Manuale".
    File allegati File allegati
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.