我现在读大学最后一年,我的期末成绩计算公式为 (0.2*第二年成绩) + (0.8*最后一年最好的90个学分)。我修读一门30学分的课程和六门15学分的课程。
我最后一年的成绩可以由两种方法组成;第一种是 30 学分课程 + 四门最好的 15 学分课程或所有六门 15 学分课程。假设我有一个 Excel 电子表格,其中将输入所有这些课程的最终成绩。
例如。
A1 - 30 学分课程成绩
A2 - 15 学分课程成绩
A3 - 15 学分课程成绩
...
A7 - 15 学分课程成绩
是否存在一个公式,可以根据单元格内的值自动决定应使用哪种方法以及哪些课程将包含在我的最终成绩中?
谢谢。
编辑:添加图片(抱歉之前没有这样做,我不知道这是允许的)
在此链接中,显示了我的电子表格。现在,F 列中的黄色单元格显示了我今年将要参加的每门课程的成绩。在总计部分,我只是计算了每门课程的平均值,以为它们都算作我的最终成绩。我现在知道这不是真的。我在想是否应该使用某种形式的 MAX 函数?
答案1
如果您的班级成绩以数字形式输入(1-100 例如 A+ = 100),其中大班在 A1 中,小班在 A2 到 A7 中,那么此公式将告诉您如何选择最后一年最好的 90 个学分。
=IF((A1+LARGE(A2:A7,1)+LARGE(A2:A7,2)+LARGE(A2:A7,3)+LARGE(A2:A7,4))>SUM(A2:A7),"use large class and four smalls","use six small classes")
答案2
该解决方案涉及一个辅助列,用于按升序列出权重为 15 的课程分数。一旦有了列表,就取前 6 门课程或前 4 门课程的总和加上 30 门课程的值中的最大值。
在我的样本数据中,在 H5 中我放置了以下公式并复制下来
=AGGREGATE(14,6,$F$3:$F$23/($C$3:$C$23=15),ROW(A1))
它是一个执行类似数组操作的常规公式。基本上,它会生成一个排序的值列表,其中对应的权重仅为 15。Row(A1) 充当计数器。因此第一次是 1,在下一行变为 2,依此类推。1、2、3 等告诉聚合返回列表中的哪个数字。
在 H12 中,使用以下公式确定前 4 个 15 重量级课程和一个 30 重量级课程或 6 个 15 重量级课程的最大结果:
=MAX(SUM(H5:H8)+F3,SUM(H5:H10))
演示