用乘法条件计算金额

时间:2017-07-31 14:39:51

标签: excel excel-formula

我有一个看起来像这样的Excel列表:

enter image description here

我需要计算行C中值已完成的行数。但如果 T 列B中的值包含 Semikolon 它有计数,如果它包含 2 Semikolons 它需要计算 3 等等......

她是一张图片,展示了计数应该如何运作。

enter image description here

我将无法在工作表中添加另一列,因此我可以锁定Matrix Fomula或类似的东西。

直到现在我用Countif和Countifs公式尝试了它但是没有用。 有人可以给我一个提示,如何做,或者最好使用Fomula?

2 个答案:

答案 0 :(得分:4)

对于“已完成”总计,请使用此公式(根据需要调整范围以适合您的实际数据):

=SUMPRODUCT((LEN($B$5:$B$28)-LEN(SUBSTITUTE($B$5:$B$28,";",""))+1)*($C$5:$C$28="Finished"))

对于您的“待定”总数,如果需要相同的处理,请使用以下公式:

=SUMPRODUCT((LEN($B$5:$B$28)-LEN(SUBSTITUTE($B$5:$B$28,";",""))+1)*($C$5:$C$28="Pending"))

答案 1 :(得分:1)

您是否可以使用/创建新工作表(包含数据的工作表除外)?如果是,您始终可以计算在单独的工作表中使用所需的值,然后使用单元格引用将值拉回到原始工作簿中。因此,在Sheet2(例如)中,我将有两列:

待定:=IF(Sheet1!$C4="Pending",1+LEN(Sheet1!$B4)-LEN(SUBSTITUTE(Sheet1!$B4,";","")),0)

结束:=IF(Sheet1!$C4="Finished",1+LEN(Sheet1!$B4)-LEN(SUBSTITUTE(Sheet1!$B4,";","")),0)

根据需要填写该公式。

然后,在您要输入总和的原始工作表上(我在上面的公式中将其称为Sheet1,您将执行=SUM(Sheet2!$B$1:$B$25)填充Amount Pending单元格,=SUM(Sheet2!$A$1:$A$25)填写已完成金额。

** 如果你不允许使用新的工作表,我会说VB脚本是唯一的另一种选择。

<强> EDITED 最佳解决方案是先前提供的SUMPRODUCT公式。