Страницы: 1
RSS
Подсчет баллов у студенов за период, Посчитать суммы балов за тесты
 
Здравствуйте!
Душещепательная история одного недо "тыжпрограмист" который неделю не может придмуть как посчитать :(
Пожалуйста, помогите!

скрин исходников

все что в таблице - рандомные значения и фамилии, любое совпадение - случайность
Скрытый текст



Ломаю голову над решением
Необходимо посчитать сумму баллов у студентов
студенты разные и нет 100% точных списков чтобы присводить каждому свой ID



Проблема заключается в следующем - за период #A2 по период #A3 нужно указать списком студентов и сумму баллов которые они набрали
Скрытый текст

ссылка на Google Sheets
(пожалуйста создавайте новые листы если будете редактировать)
https://docs.google.com/spreadsheets/d/15wDhhgyVSR5AEbq4i4Qffn7XjNwecO7UPLgfBj3N­6zY/edit?usp=sharing

так же .Xlsx добавлен в файлы

Результат который должен отображаться
Скрытый текст
Изменено: Voiage - 05.03.2022 04:26:21
 
Вариант
 
Цитата
написал:
Вариант
я прошу прощения, но у меня всего одна формула прогрузилась :)
Скрытый текст

возможно ли сделать пост с формулой сюда?
как был произведен просчет студентов и суммы
Скрытый текст
 
, Подсчет делается макросом по нажатию кнопки на листе "Необходимо"
Код
Sub test()
Dim dicTemp As Object
Set dicTemp = CreateObject("Scripting.Dictionary")
With Sheets(1)
lrow = .Cells(1, 1).End(xlDown).Row
    For i = 2 To lrow
        If .Cells(i, "G") >= Sheets(2).Range("B2") And .Cells(i, "G") <= Sheets(2).Range("B3") Then
        arrFIO = Split(.Cells(i, "F"), "/")
                For j = LBound(arrFIO) To UBound(arrFIO)
                    If dicTemp.Exists(arrFIO(j)) = False Then
                        dicTemp.Add arrFIO(j), Split(.Cells(i, "D"), "/")(j)
                    Else
                        dicTemp.Item(arrFIO(j)) = --dicTemp.Item(arrFIO(j)) + --Split(.Cells(i, "D"), "/")(j)
                    End If
                Next j
        End If
    Next i
End With
Sheets(2).Range("A5").Resize(dicTemp.Count, 1) = WorksheetFunction.Transpose(dicTemp.Keys)
Sheets(2).Range("B5").Resize(dicTemp.Count, 1) = WorksheetFunction.Transpose(dicTemp.Items)
End Sub
 
Изменено: Александр П. - 05.03.2022 07:31:40
 
,
Работает великолепно!
Но я ничего не понимаю как оно работает :)

Возможно ли перенести данный макрос, или реализовать в Google Sheet для удобства?
Страницы: 1
Наверх