Ну я же говорил, что надо итоговую рассчитывать как среднее взвешенное и надлежащим образом расставить веса.
Например, у вас все задания равноценные, только первая группа ограничивается 20 заданиями, а все остальные выполняют еще 17. Тогда вы каждому из этих 17 заданий вы назначаете весовой коэффициент 1, а весовой коэффициент итоговой оценки за категорию из 20 заданий, будет равняться 20.
Если хотите, то можете для 17 заданий свою категорию создать. Тогда итоговую оценку будете рассчитывать как средневзвешенное двух категорий.
Если хотите, можете поиграться со способом учета пустых оценок. Если оценку за курс рассчитывать без учета пустых, то у первой группы оценка за 1-ю категорию и оценка за курс будут совпадать. Внутри обеих категорий пустые оценки следует учитывать. Тогда останется "вручную" убедиться, что остальные группы получили хотя бы одну оценку во второй категории.