2022-09-01 10:10来源:m.sf1369.com作者:宇宇
完全看不见表格,不过根据你的需要建议使用 sumifs 函数,可以分别对各列的属性进行筛选。
提醒下,很多时候公式错误是因为选择的数据 不等行数,注意各参数应该是同样的行数即可。
使用公式肯定不能解决这个问题,在EXCEL的单元格中只要输入了公式就不再是空的了,最好是在你们导入数据库的过程中进行处理,不知你们是怎样导入的,无法提供建议。
如果一定要在EXCEL中解决,可以考虑用宏来处理,三种宏:
第一种是在输入每行单价和数量时,自动填充总价;
第二种是在全部输入完成后运行宏一次计算总价;
第三种是一次性输入600行公式,在全部输入完成后运行宏删除空白的行。
可以设置一个命令按钮放在表格里,输入人员点一次就够了。
补充:
采用上述第二种方案给你编了一个宏代码,将此代码复制到VBA的模块中,每次输入完成后点击运行宏就行了。要求你的宏已启用。
Public Sub 计算总价()
Dim X as long
X=2'这里假设计算从第2行开始,如果不是请自行修改
Do while Range(E & X)> OR Range(F & X)>
Range(G & X)=Val(Range(E & X))* Val(Range(F & X))
X=X+1
Loop
Msgbox 计算完成!
End Sub
第一种方案使用时比较简单,输入人员无需任何操作,每次输入单价或数量时就自动计算填充总价。
右键点击工作表标签名,选择“查看代码”,将下面代码复制进去即可。代码中5、6、7分别代表数量、单价、总价所在的列号,如有不同请自行修改。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column=5 Or Target.Column=6 Then
Application.EnableEvents = False
Cells(Target.Row, 7)=Val (Cells(Target.Row, 5))*Val(Cells(Target.Row, 6))
Application.EnableEvents = True
End If
End If
End Sub
=IF(AND(1例单元格地址=2例单元格地址,1例单元格地址=3例单元格地址),数据相同,数据不同)
说明:
1、用第1、2、3个例子的单元格地址分别替换公式中的1、2、3例单元格地址;
2、把上面的公式复制到你想要比较结果的单元格。
3、公式中的AND函数是同时满足给定条件的意思;
4、公式中的IF函数是判断是否满足给定条件,然后返回不同结果的意思;
5、整个公式是说,当“1例=2例”且“1例=3例”时,结果为“数据相同”,否则为“数据不同”。
展开全部
原IF函数语句
=IF(A1>8,9,IF(A1>7,8,IF(A1>6,7,IF(A1>5,6,IF(A1>4,5,IF(A1>3,4,IF(A1>2,3,IF(A1>1,2,1))))))))
上面IF语句套了7层,一共8层,如果想加入IF(A1>9,10则会出错
=IF(A1>9,10,IF(A1>8,9,IF(A1>7,8,IF(A1>6,7,IF(A1>5,6,IF(A1>4,5,IF(A1>3,4,IF(A1>2,3,IF(A1>1,2,1)))))))))