发票清单基于date和帐户运行余额
我正在使用Excel 2010,并使用一个用户窗体显示从工作表(“InvoiceListIncome”)使用ListBox控件的完整列表,“工作表”有13列和成千上万的行,下面的示例图像; 我遇到的问题是平衡行范围(“InvoiceListIncome_Balance”)“显示每个发票个人的余额,我需要的是从第一个发票范围(”InvoiceListIncome_Date“)开始运行的余额,所以每增加一个交易当前+该账户的所有以前的发票。
我目前使用的macros是;
Range("InvoiceListIncome_Balance").FormulaR1C1 = "=SUM(RC[-1])-SUM(RC[-2])"
它简单地从G列中的项目价格中扣除了F列中的什么项目,但我似乎无法弄清楚如何按date添加所有以前的余额,我可以将其以Customers客户作为标准求和完整范围,或者activerow。
我一直在试图解决这个问题的日子,任何帮助将非常感激,谢谢。
这是我需要的一个例子。
假设您在第2行的第一行数据中分别在A,D和E列中具有Account,Price和Paid,请尝试在第2行中使用以下公式:
=SUMIF($A$2:$A2,$A2,$E$2:$E2)-SUMIF($A$2:$A2,$A2,$D$2:$D2)
将公式向下复制到列中。 这假定你的数据按照你所显示的时间顺序排列。
另外,如果这个公式正在工作,那么你需要在列的第四行有错误的符号?
你想要一个运行总量,所以你想在计算第n行的余额时join行(n-1)的余额。
根据您的第一张照片,进行以下更改:
- G2中的公式:
=F2-E2
- 公式在G3中:
=G2+F3-E3
- 从G3复制公式到列表的末尾; 最后一个值是你目前的余额
编辑
对不起…我似乎忽视了帐户的破产情况。 那么这使得它更容易,因为只有一个你需要一个公式,只需一个公式…
打破客户(提供客户专栏sorting),你会使用下面的公式
- G2中的公式:
=IF(A2=A1,G1+F2-E2,F2-E2)
- 从G2复制公式到列表的末尾
( 如果this.account = previous.account then calculate.running.total else create.new.balance )
只要你的第一个客户的名字是<>“Account”:-)