Я пытаюсь рассчитать взвешенный средний балл в Excel. Невзвешенная была простой формулой усреднения, но взвешенная сложнее, потому что нельзя взять простое усреднение. Взвешенный класс указывается наличием "AP" в определенной ячейке, а невзвешенный класс указывается наличием "Reg". Чтобы вычислить взвешенный средний балл, мне нужно взять компонент невзвешенных классов и взвешенных классов отдельно, а затем сложить их вместе.

Например, я могу использовать это для вычисления невзвешенного компонента: ((SUMIF(H4,"<>AP",G4))+(SUMIF(J4,"<>AP",I4))+(SUMIF(L4,"<>AP",K4))+(SUMIF(N4,"<>AP",M4))+(SUMIF(P4,"<>AP",O4))+(SUMIF(R4,"<>AP",Q4))+(SUMIF(T4,"<>AP",S4))+(SUMIF(V4,"<>AP",U4))+(SUMIF(X4,"<>AP",W4))+(SUMIF(Z4,"<>AP",Y4))+(SUMIF(AB4,"<>AP",AA4))+(SUMIF(AD4,"<>AP",AC4))) разделенный на (COUNTIF(G4:AD4,"Reg")) .

Мне нужно, чтобы каждая ячейка была добавлена вручную в Excel, потому что он не сделает это для меня. Но каждая сумма выглядит так:

((SUMIF(H4,"<>AP",G4))

Я мог бы использовать "Reg", но я использовал «<> AP», и это, кажется, работает. Я не начал использовать "Reg", пока не написал эту часть формулы. Я мог бы использовать «<> AP» или "Reg" - это не имеет значения.

Я думаю, что я мог бы изменить сумму для взвешенного компонента к этому:

((SUMIF(H4,"AP",(G4+1)))

Но Excel не позволяет мне сделать это. Мне нужно добавить 1 к G4, потому что взвешенный класс стоит на 1 балл больше, и мне нужно это в скобках, потому что его следует добавлять только в том случае, если SUMIF имеет значение true. Но Excel не позволяет мне сделать это; он думает, что я что-то ввожу, кроме формулы, и формула становится недействительной.

Другими словами, ячейки для суммирования содержат невзвешенный средний балл, и мне нужно добавить 1 ко всем ячейкам, которые суммируются, чтобы получить взвешенный средний балл, но Excel не позволяет мне делать это.

Я также пытался: ((SUMIF(H4,"AP",G4+1))

Ничего не работает

Как я могу добавить число, в данном случае 1, к значению ячейки в SUMIF, которое должно быть добавлено, если критерии верны? Я хочу взять значение в этой ячейке (G4) и добавить к нему число в моей формуле.

Можно ли это сделать в формуле, или значение "1" должно быть явно определено в ячейке, а затем в самой формуле должна быть сделана ссылка на содержащую его ячейку? (что было бы очень глупо)

1 ответ1

0

Я узнал, как это сделать по-другому.

Вместо добавления 1 к каждому взвешенному классу в отдельности, вы можете просто добавить СЧЕТЧИК взвешенных классов к сумме SUMIF.

Полная формула для расчета взвешенного среднего балла ниже:

(
((SUMIF(H4,"<>AP",G4))+(SUMIF(J4,"<>AP",I4))+(SUMIF(L4,"<>AP",K4))+(SUMIF(N4,"<>AP",M4))+(SUMIF(P4,"<>AP",O4))+(SUMIF(R4,"<>AP",Q4))+(SUMIF(T4,"<>AP",S4))+(SUMIF(V4,"<>AP",U4))+(SUMIF(X4,"<>AP",W4))+(SUMIF(Z4,"<>AP",Y4))+(SUMIF(AB4,"<>AP",AA4))+(SUMIF(AD4,"<>AP",AC4)))
+
(((SUMIF(H4,"AP",(G4)))+(SUMIF(J4,"AP",(I4)))+(SUMIF(L4,"AP",(K4)))+(SUMIF(N4,"AP",(M4)))+(SUMIF(P4,"AP",(O4)))+(SUMIF(R4,"AP",(Q4)))+(SUMIF(T4,"AP",(S4)))+(SUMIF(V4,"AP",(U4)))+(SUMIF(X4,"AP",(W4)))+(SUMIF(Z4,"AP",(Y4)))+(SUMIF(AB4,"AP",(AA4)))+(SUMIF(AD4,"AP",(AC4))))+(COUNTIF(G4:AD4,"AP")))
)
/(COUNT(G4:AD4))

Первая строка - это невзвешенный компонент.

Вторая строка - взвешенный компонент. Обратите внимание на COUNTIF в конце, который решил проблему.

Третья строка делится на количество оценок.

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