Exceldynamic添加到如果行包含的东西

我有一个用于客户数据录入的Excel工作表,比如零件的成本,他们支付了多less钱,以及他们如何支付(现金,信用或支票)。 这是我的第一个页面,以获得更好的外观:

工作表Sheet1

因此,在第一张表格中,input您需要的所有数据,例如名称,汽车制造地址(date是dynamic的= TODAY())。 当您在确认框中input“y”时,数据在sheet2上计算以分析货币值。 这里是表2的数据,所以你可以看到我在说什么:

在这里输入图像说明

按下“新客户”button将运行一个VBA脚本,在另一个客户条目的工作表1上创build一个新行,在工作表1上为工作表1上的新行创build另一条相应行,以生成计算数据,并“存储”工作表1和工作表2的以前的客户数据在sheet3上。

这导致我到我的问题..对于表2计算“现金总额”,“信用卡总额”和“检查总额”,我需要过滤和添加(现金+部分成本),如果他们用现金支付(卡+零件成本),如果他们用卡支付,(支票+零件成本),如果他们用支票支付。 我的问题是,我不知道如何去逐行检查他们是否使用现金,卡或信用卡支付,然后将该行的零件成本添加到相应的总箱子。 我想像一个陈述,如= IF(G2> 0,G2 + E2)或者沿着这些线将会起作用,但我无法弄清楚,希望看到你们提出一些解决scheme。 请注意,由于“新客户”input的行数可能不同,因此这个(部​​分成本+支付媒介)也需要适用于dynamic范围的单元格,因为当天的客户数量是未知的。

从我的理解你可以尝试这样的事情

=SUMPRODUCT(--(F2:F7 > 0),D2:D7)+SUM(F2:F7) 

SUMPRODUCT仅将具有现金支付的行的部件成本累加起来。 然后,该总额被添加到现金栏的总额中。 您只需要将F列更改为每种types的其他付款方式即可。

确实没有一个好的方法来使其dynamic。 只要设置足够大,你永远不会超过。

 F2:F1000 

我没有写出特定于您的工作表的公式。 试试这个现金总计。

 =SUMPRODUCT(--(G2:G1000 > 0),E2:E1000)+SUM(G2:G1000) 

你也没有提到任何关于多种支付types。 我会考虑这个,回到你身边。

作为对bbishopca声明的一个修正,你可以使用= COUNT(F:F)语句来dynamic地找出表单中存在多less行。 所以现在你会放

 =COUNT(F:F) 

在一个单元格中,说A1,它将输出2.然后将范围从bbishopca的答案设置为

 F2:INDIRECT("F"&A1) 

重复每种付款方式。