excel运算问题
发布网友
发布时间:2022-05-18 03:10
我来回答
共2个回答
热心网友
时间:2023-10-08 17:10
您好,我用VBA帮您写了个小程序
Public Sub aa()
x = Range("A65536").End(xlUp).Row '设定x为第一列最后一行的值
b1 = Cells(2, 10) '设定小学课时费为J2单元格值
b2 = Cells(2, 11) '设定初中课时费为K2单元格值
b3 = Cells(2, 12) '设定高中课时费为L2单元格值
For i = 2 To x '逐行循环
a1 = Cells(i, 2) '设定变量a1为小学课时
a2 = Cells(i, 3)
a3 = Cells(i, 4)
If a1 > 5 Then
a1 = a1 - 5
ElseIf a1 + a2 > 5 Then
a2 = a1 + a2 - 5
a1 = 0
ElseIf a1 + a2 + a3 > 5 Then
a3 = a1 + a2 + a3 - 5
a2 = 0
a1 = 0
End If
Cells(i, 6) = a1 * b1 + a2 * b2 + a3 * b3
Next
End Sub
或者直接写公式:
=IF(SUM(B2:D2)<5,SUMPRODUCT(B2:D2,$J$2:$L$2),IF(B2>5,(B2-5)*$J$2+C2*$K$2+D2*$L$2,IF(SUM(B2:C2)>5,(SUM(B2:C2)-5)*$K$2+D2*$L$2,(SUM(B2:D2)-5)*$L$2)))
因为是3层以上嵌套,所以这个需要在excel2007或以上版本使用。
热心网友
时间:2023-10-08 17:10
上传带行列号有数据示例的截图,理解了已知条件和结果是怎样的,才能给你答案。