excel 自动累积和

来源:百度知道 编辑:UC知道 时间:2024/05/24 07:40:22
我有一张工作表1.xls,其中有A工作表和B工作表,B工作表中的D5数值要随着A工作表数值E7(每天变化)的数值累积加而变化。我举个例子。假如我A工作表数值E7数值天为10,那么B工作表的D5数字自然为10。但是我今天A工作表数值E7变为15,那么B工作表的D5数值要累计上昨天的数值10加15等于35。【当E7发生变化,D5=D5(昨天的数值)+E7】,请问我在B工作表的D5处如何设置公式?

先点"工具"->"选项"->"重新计算",选中"自动重算"和"迭代计算","最多迭代次数"改为1,点"确定".
在"B工作表"的D5单元格输入公式:
=IF((CELL("row")=7)*(CELL("col")=5)*(RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))="A工作表"),A工作表!E7+D5,D5)

两个数据都在变是无法累计的,除非你用vba编程。你可以在工具栏中找到窗体,添加一个按钮控件,然后右键打开编程,加入以下语句,就可以实现你要的功能。每次在A工作表数据改变后,按一下按钮,自动计算一下即可。
Dim i, J As Single
i = Sheets("A").Range("E7")
J = Sheets("B").Range("D5")
J = J + i
Sheets("B").Range("D5") = J

两个数据都在变是无法累计的,你可以把表A设为流水账式,这样每次的E7都存在,在表B中有d5=sumif(A!a1:a10,"XX",e1:e10)
a1:a10为数值e7的标识列所有数据区间,XX为标识,e1:e10为你要的数据所在列的所有数据区间

-_-| 25

http://www.excelba.com/showdown.asp?soft_id=29