我正在使用Excel 2010并创建了一个UserForm,它使用ListBox控件显示工作表中的发票的完整列表(“InvoiceListIncome”),工作表有13列和数千行,下面是一个示例图像; 我遇到的问题是平衡行范围(“InvoiceListIncome_Balance”)“显示每个发票个人的余额,我需要的是从第一个发票范围(”InvoiceListIncome_Date“)开始的运行余额,所以每个交易它都会增加当前+该帐户以前的所有发票。
我目前使用的宏是;
Range("InvoiceListIncome_Balance").FormulaR1C1 = "=SUM(RC[-1])-SUM(RC[-2])"
简单地从列G中的项目价格中减去F列中的付款,但我似乎无法弄清楚如何按日期添加所有以前的余额,我可以将其与客户帐户的总和范围相加作为标准或只是活动。
我一直在试图解决这个问题几天,任何帮助都会非常感谢,谢谢。
这是我需要的一个例子;
答案 0 :(得分:2)
假设您分别在第A,D和E列中拥有帐户,价格和付费,并在第2行中使用第一行数据,请尝试第2行中的以下公式:
=SUMIF($A$2:$A2,$A2,$E$2:$E2)-SUMIF($A$2:$A2,$A2,$D$2:$D2)
将公式复制到列中。这假设您的数据按照您显示的时间顺序按时间顺序排序。
此外,如果此公式有效,您在列的底部第4行上有错误的符号????
答案 1 :(得分:0)
您想要一个总计,所以您希望在计算第n行的余额时合并行的余额(n-1)。
根据您的第一张照片,进行以下更改:
=F2-E2
=G2+F3-E3
修改强>
抱歉......我似乎忽略了账户违约情况。嗯,这使得它变得更加容易,因为你只需要一个公式就可以了......打破客户(如果客户列已排序),您将使用以下公式
=IF(A2=A1,G1+F2-E2,F2-E2)
( if this.account = previous.account then calculate.running.total else create.new.balance )
只要您的第一个客户名称是<>,这将有效。 “帐户”:-)