2011-08-18 42 views
1

我正在使用Excel 2010,并制作了UserForm,它使用ListBox控件显示工作表(“InvoiceListIncome”)中的发票的完整列表,工作表包含13列和数千行,下面的示例图像; 我遇到的问题是余额行范围(“InvoiceListIncome_Balance”)“显示每个发票个人的余额,我需要的是从第一个发票范围(”InvoiceListIncome_Date“)开始的运行余额,以便每个交易它添加了目前所有+发票以前为该帐户发票清单基于日期和帐户的运行余额

我目前使用宏。

Range("InvoiceListIncome_Balance").FormulaR1C1 = "=SUM(RC[-1])-SUM(RC[-2])" 

简单地减去商品价格在G列在F列什么报酬,但我似乎不知道如何按日期添加所有以前的余额,我可以将它与客户帐户的总和范围总和为t他的标准或只是activerow。

我一直在试图解决这个问题的几天,任何帮助将非常感激,谢谢。

这是我需要的一个例子; enter image description here

+0

你可以试着解释一些更具体的细节?这听起来像是我可以帮助的事情,并朝着正确的方向前进。 – RonnieDickson

+0

谢谢Ronnie,我已经添加了一个我需要的例子。 – James

回答

1

假设你已经帐户,价格,并在列A,d和E,分别有报酬的工作,与第2行中的第一行数据,请尝试第2行中的以下公式:

=SUMIF($A$2:$A2,$A2,$E$2:$E2)-SUMIF($A$2:$A2,$A2,$D$2:$D2) 

将公式向下复制。这假定您的数据按照您所显示的时间顺序排列。

此外,如果此公式正在工作,您在第四行的所需列的底部有错误的符号?

+0

非常感谢Ronny,工作完美!,刚刚用A,E&F取代了A,D&E,它的工作原理与我设想的完全一样,我完成了我的在过去的几个星期中试图弄清楚这一点,再次非常感谢你的帮助,非常感谢! ;) – James

0

你想要一个运行总数,所以你想在计算行n的余额时加入行(n-1)的余额。

根据您的第一图片,做如下修改:

  • 公式G2:在G3 =F2-E2
  • 式:G3 =G2+F3-E3
  • 复制公式到列表的末尾;最后一个值是当前余额

编辑

对不起...我似乎都忽略了突破记帐条件。嗯,这使得因为只有一个公式,你需要一路走低更容易....

打破客户(为客户提供了列进行排序),你会用下列公式

  • 式中G2:=IF(A2=A1,G1+F2-E2,F2-E2)
  • 复制式从G2到列表的末尾

如果this.account = previous.account然后calculate.running.total别的create.new.balance

这只要你的第一个客户的名称是<>‘帐户’:-)

+0

这不起作用,因为它假设只有1个客户并且添加了所有发票而不是每个客户。 – James

+0

从我可以看到它仍然单独添加余额,而不是总结该帐户的所有以前的发票,我不知道如何或在哪里添加您提供的底部代码; (如果this.account = previous.account then calculate.running.total else create.new.balance) 感谢您的帮助到目前为止;) – James

+0

底部的代码只是说明了什么= IF(.. 。)正在做 - 你不要输入任何地方 – MikeD