Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 用乘法条件计算数量_Excel_Excel Formula - Fatal编程技术网

Excel 用乘法条件计算数量

Excel 用乘法条件计算数量,excel,excel-formula,Excel,Excel Formula,我有一个Excel列表,如下所示: 我需要计算C行中具有值Finished的行的数量。但是如果B列中的T值包含一个Semikolon它将计算double,如果它包含2个Semikolon它将计算3等等 她是一张显示计数应该如何进行的图片 我将无法向工作表中添加其他列,因此我正在锁定矩阵公式或类似的内容 到目前为止,我用Countif和Countifs公式进行了尝试,但没有成功。 有人能给我一个提示,如何计算thsi或什么公式是最好的使用方法吗?对于“完成”的总数,请使用此公式(根据需要调整范

我有一个Excel列表,如下所示:

我需要计算C行中具有值Finished的行的数量。但是如果B列中的T值包含一个Semikolon它将计算double,如果它包含2个Semikolon它将计算3等等

她是一张显示计数应该如何进行的图片

我将无法向工作表中添加其他列,因此我正在锁定矩阵公式或类似的内容

到目前为止,我用Countif和Countifs公式进行了尝试,但没有成功。 有人能给我一个提示,如何计算thsi或什么公式是最好的使用方法吗?

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

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

=SUMPRODUCT((LEN($B$5:$B$28)-LEN(SUBSTITUTE($B$5:$B$28,";",""))+1)*($C$5:$C$28="Pending"))
对于“完成”总数,使用此公式(根据需要调整范围以适合实际数据):

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

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

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

待定:
=IF(Sheet1!$C4=“待定”,1+LEN(Sheet1!$B4)-LEN(替换(Sheet1!$B4,”;“,”),0)

已完成:
=IF(Sheet1!$C4=“已完成”,1+LEN(Sheet1!$B4)-LEN(替换(Sheet1!$B4,”;“,”),0)

根据需要,尽可能地补充该公式

然后,在您想要输入金额的原始表格(我在上面的公式中称之为Sheet1)上,您可以执行
=SUM(Sheet2!$B$1:$B$25)
填充待处理金额单元格,并对已完成金额执行
=SUM(Sheet2!$a$1:$a$25)

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

已编辑
最好的解决方案是之前提供的SUMPRODUCT公式。

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

待定:
=IF(Sheet1!$C4=“待定”,1+LEN(Sheet1!$B4)-LEN(替换(Sheet1!$B4,”;“,”),0)

已完成:
=IF(Sheet1!$C4=“已完成”,1+LEN(Sheet1!$B4)-LEN(替换(Sheet1!$B4,”;“,”),0)

根据需要,尽可能地补充该公式

然后,在您想要输入金额的原始表格(我在上面的公式中称之为Sheet1)上,您可以执行
=SUM(Sheet2!$B$1:$B$25)
填充待处理金额单元格,并对已完成金额执行
=SUM(Sheet2!$a$1:$a$25)

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

已编辑
最好的解决方案是之前提供的SUMPRODUCT公式。

我非常相信在excel中使用公式而不是VBA。如果可能的话。但我想不出一个公式可以做到这一点。VBA不是一个选项吗?为了简单起见,我会使用单独的D列来计算每个单元格中分号的数量,然后再进行SUMPRODUCT@Dan是的,我也想到了一个单独的列,但我认为必须有一种方法来使用公式。^我非常相信在excel中使用公式而不是VBA。如果可能的话。但我想不出一个公式可以做到这一点。VBA不是一个选项吗?为了简单起见,我会使用单独的列D来计算s的数量每个单元中的emi冒号,然后执行sumproduct@Dan是的,我也想到了一个单独的列,但我认为必须有一种方法可以用公式来实现。^^ Sumproduct函数将内部语句转换为数组版本(无需ctrl+shift+enter),这是允许Len函数接受一系列单元格以提供正确答案的方式。我可以验证提供的公式是否正确计算。我已更正:)你每天都在学习新的东西。不知道为什么我第一次测试时它没有给出正确的答案。我将谦恭地为你的答案投票Sumproduct函数将内部语句转换为数组版本(不需要ctrl+shift+enter),这是允许Len函数接受一系列单元格以提供正确答案的方式。我可以验证提供的公式是否正确计算。我已更正:)你每天都在学习新的东西。不知道为什么我第一次测试时它没有给出正确的答案。我会谦恭地投票给你我一直在寻找的答案。非常感谢。这就是我一直在寻找的答案。非常感谢。