в соответствии с запросом, проходной балл составляет 60 , а вознаграждение составляет 5 бонусных баллов только для студентов, которые не справляются с определенными предметами, и эти бонусные баллы распределяются для ограничения проходного балла
так, формула будет иметь вид:
=ARRAYFORMULA(IFNA(VLOOKUP(A3:A&B3:B, QUERY(SPLIT(TRANSPOSE(SPLIT(
QUERY(TRANSPOSE(QUERY(TRANSPOSE("♦"&QUERY(TRANSPOSE(QUERY({
SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1")), "select Col1", 0)&
QUERY(TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select Col2,max(Col3) where Col1 is not null group by Col4,Col2 pivot Col1"),
"offset 1", 0)), "limit 0", 1)&"♠"&
IFNA(REGEXREPLACE(TO_TEXT(TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", )+IFNA(
IF(IFERROR(QUERY(1*REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1+Col2+Col3+Col4+Col5 label Col1+Col2+Col3+Col4+Col5''"), 6)<=5,
REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
IF(IFERROR(QUERY(1*REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1+Col2+Col3+Col4 label Col1+Col2+Col3+Col4''"), 6)<=5,
REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
IF(IFERROR(QUERY(1*REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1+Col2+Col3 label Col1+Col2+Col3''"), 6)<=5, QUERY(
REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1,Col2,Col3"),
IF(IFERROR(QUERY(1*REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1+Col2 label Col1+Col2''"), 6)<=5, QUERY(
REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1,Col2"),
IF(IFERROR(QUERY(1*REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ),
"select Col1 "),6)<=5, QUERY(
REGEXREPLACE(TO_TEXT(60-TRANSPOSE(QUERY(QUERY({SORT(FILTER(A3:C, C3:C<60, C3:C>54), 1, 1, 3, 1),
SORT(FILTER(ROW(A3:A), C3:C<60, C3:C>54), 1, 0)},
"select max(Col3) where Col1 is not null group by Col4 pivot Col1"), "offset 1", 0))), "^60$", ) ,
"select Col1"), ))))), 0), 0)),,999^99)),,999^99), "♦")), "♠"), "where Col2 !=0"), 2, 0), C3:C))