发票清单基于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”:-)