Usando dados do Excel para um sorteio

Usando dados do Excel para um sorteio

O que eu tenho é uma planilha do Excel que contém o nome, o sobrenome dos usuários e o número de vezes que eles responderam corretamente a uma pergunta trivial diária no último mês. O que eu quero fazer é selecionar um vencedor com base em um sistema de sorteio, onde os usuários recebem uma entrada para cada pergunta que responderem corretamente. Tenho uma maneira de fazer isso em Java, mas gostaria de fazer no Excel, se possível. Aqui está meu código Java, se ajudar a explicar:

public static void main(String[] args) throws FileNotFoundException {
    File file = new File("TriviaParticipantsList.txt");
    Scanner scanner = new Scanner(file);
    int x = 0;
    int j = 0;
    int i = 0;

    while(scanner.hasNextLine())
    {
        String line = scanner.nextLine();
        Scanner scan = new Scanner(line);

        i = scan.nextInt();
        String name = scan.nextLine();
        if(line.charAt(0)==0)
        {
            //do nothing if no questions were answered
        }
        else
        {
            for(j=0; j<i; j++)
            {
                System.out.print(j+x); //Print out "ticket number"
                System.out.println(" " + name); //Print out owner name of ticket
            }
        }
        x=x+i;
    }
    scanner.close();
    System.out.println(x); //Verify correct number of entries
    int winner = (int) (Math.random()*x); //Select random number based on number of entries
    System.out.println(winner); //Display value, look through list to find who number belongs to!
}

Qualquer ajuda é muito apreciada!

Responder1

Eu poderia imaginar (como em "não tentei") que uma soma cumulativa das respostas corretas combinada com uma pesquisa em um número aleatório poderia resolver o problema.

Name | Correct | Sum
P1        3       3
P2        2       5
P3        4       9

Crie uma célula com um número aleatório e talvez um botão para acionar o recálculo ou preencha a célula com a fórmula do número aleatório ou algo parecido.

Então você poderá fazer uma pesquisa que retorne "P2", por exemplo, se você desenhou o número 4. Edit: Verifique na ajuda da função de pesquisa como fazer com que ela retorne o correto, acredito que ela pode fazer o que você deseja. Caso contrário, talvez seja necessário contornar isso com uma coluna auxiliar.

O número aleatório, claro, deve ir de 1 até o máximo da soma cumulativa.

Espero que ajude de alguma forma ;-)

informação relacionada