Usando dados do Excel para um sorteio

0

O que eu tenho é uma planilha do Excel que tem usuários Nome, Sobrenome e número de vezes que eles responderam uma pergunta diária corretamente 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 respondida corretamente. Eu tenho uma maneira de fazê-lo em Java, mas eu gostaria de fazê-lo no Excel, se possível. Aqui está o meu código Java, se isso 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!

    
por TZPike05 31.10.2012 / 18:20

1 resposta

2

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

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 fazê-lo preencher a célula com a fórmula do número aleatório ou algo assim.

Então você deve ser capaz de fazer uma pesquisa que retorne "P2", por exemplo, se você desenhou o número 4. Edit: Verifique a ajuda na função de pesquisa como fazê-lo retornar o correto, eu acredito que ele pode fazer o que você deseja. Caso contrário, você pode ter que contornar isso com uma coluna de ajuda.

O número aleatório do curso tem que ser executado de 1 até o máximo da soma cumulativa.

Espero que ajude de alguma forma; -)

    
por 31.10.2012 / 19:00