我正在尝试在 Excel 中计算加权 GPA。不加权是一个简单的平均公式,但加权更复杂,因为不能取简单平均值。加权类由某个单元格中存在的“AP”表示,非加权类由“Reg”表示。要计算加权 GPA,我需要分别取非加权类和加权类的分量,然后将它们加在一起。
例如,我可以用它来计算非加权成分:((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,因为加权类比 GPA 多 1 分,并且我需要将其放在括号内,因为只有当 SUMIF 为真时才应该添加。但是 Excel 不允许我这样做;它认为我输入的是公式以外的内容,因此公式无效。
换句话说,要求和的单元格包含未加权的 GPA,我需要将所有求和的单元格加 1 才能得到加权的 GPA,但 Excel 不允许我这样做。
我也尝试过:((SUMIF(H4,"AP",G4+1))
什么都没起作用。
如果条件为真,我该如何将一个数字(本例中为 1)添加到 SUMIF 中单元格的值中?我想获取该单元格 (G4) 中的值,然后在公式中为其添加一个数字。
这可以在公式中实现吗,或者是否需要在单元格中明确定义值“1”,然后在公式本身中引用包含该值的单元格?(这真的很愚蠢)
答案1
我发现了如何用不同的方法来做到这一点。
您无需为每个加权类别单独添加 1,只需将加权类别的 COUNT 添加到 SUMIF 的总和中即可。
计算加权 GPA 的完整公式如下:
(
((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 解决了这个问题。
第三行按年级数划分。