У меня есть электронная таблица Excel, в которой указаны имена, фамилии и число пользователей, которые правильно ответили на вопрос о пустяках за последний месяц. Что я хочу сделать, так это выбрать победителя на основе системы розыгрыша, где пользователи получают по одной записи на каждый вопрос, на который они правильно ответили. У меня есть способ сделать это на Java, но я хотел бы сделать это в Excel, если это возможно. Вот мой Java-код, если он поможет объяснить:

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!
}

Любая помощь очень ценится!

1 ответ1

2

Я мог предположить (как в "я не пробовал"), что накопленная сумма правильных ответов в сочетании с поиском случайного числа может помочь.

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

Создайте ячейку со случайным числом и, возможно, кнопку для запуска перерасчета или заполните ячейку формулой для случайного числа или чего-то в этом роде.

Затем вы сможете выполнить поиск, который возвращает "P2", например, если вы нарисовали номер 4. Изменить: Проверьте справку по функции поиска, как заставить его вернуть правильный, я считаю, что он может делать то, что вы хотите. В противном случае вам, возможно, придется обойти это с помощью вспомогательного столбца.

Случайное число конечно должно составлять от 1 до максимума кумулятивной суммы.

Надеюсь, это поможет как-то ;-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .