Usando datos de Excel para una rifa

Usando datos de Excel para una rifa

Lo que tengo es una hoja de cálculo de Excel que tiene el nombre, el apellido y la cantidad de veces que respondieron correctamente una pregunta de trivia diaria durante el último mes. Lo que quiero hacer es seleccionar un ganador mediante un sistema de sorteo, donde los usuarios obtienen una entrada por cada pregunta que respondieron correctamente. Tengo una manera de hacerlo en Java, pero me gustaría hacerlo en Excel si es posible. Aquí está mi código Java si ayuda 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!
}

¡Cualquier ayuda es muy apreciada!

Respuesta1

Podría imaginar (como en "no lo intenté") que una suma acumulativa de las respuestas correctas combinada con una búsqueda de un número aleatorio podría ser la solución.

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

Cree una celda con un número aleatorio y tal vez un botón para activar el recálculo o haga que llene la celda con la fórmula para el número aleatorio o algo así.

Entonces deberías poder hacer una búsqueda que devuelva "P2", por ejemplo, si dibujaste el número 4. Editar: consulta la ayuda en la función de búsqueda para saber cómo hacer que devuelva el correcto, creo que puede hacer lo que deseas. De lo contrario, es posible que tengas que solucionarlo con una columna auxiliar.

Por supuesto, el número aleatorio debe ir desde 1 hasta el máximo de la suma acumulativa.

Espero que ayude de alguna manera ;-)

información relacionada