问题不太明白,总绩点不是各科绩点之和吗,这一句"就是每一科绩点乘以学分所有科的都加起来然后再除以用的学分24… 再乘以25"不知道意思。以下函数可以求各科绩点之和,只要用这个函数求出各科绩点和就可以根据最后一句的算法修改一下什么乘24除25的结果公式计算出来了吧。
用法(假如绩点和在H列,成绩在 B~G列):在H2单元格填"=jd(B2:G2)"然后向下填充就可以了。
函数代码如下:新建一个模块粘贴到里面吧。
Option Explicit
Function Jd(cj As Range) 'cj为成绩所在单元格
Dim dk As Range '单科成绩单元格
Dim jdh As Single, dkjd As Single
For Each dk In cj
Select Case dk.Value
Case 90 To 100
dkjd = 4
Case 85 To 89
dkjd = 3.5
Case 80 To 84
dkjd = 3
Case 75 To 79
dkjd = 2.5
Case 70 To 74
dkjd = 2
Case 65 To 69
dkjd = 1.5
Case 60 To 64
dkjd = 1
Case 0 To 59
dkjd = 0
Case Else
Jd = "分数错误"
Exit Function
End Select
jdh = jdh + dkjd
Next dk
Jd = jdh
End Function
如果不明白请吱声我再帮你解决。
可以实现,做一个表并列举示例和手动计算的结果,huaniangme@qq.com,争取帮你解决