Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
Arrays 将SUMPRODUCT与AND和OR逻辑一起使用时出现问题_Arrays_Excel_Excel Formula_Sumproduct - Fatal编程技术网

Arrays 将SUMPRODUCT与AND和OR逻辑一起使用时出现问题

Arrays 将SUMPRODUCT与AND和OR逻辑一起使用时出现问题,arrays,excel,excel-formula,sumproduct,Arrays,Excel,Excel Formula,Sumproduct,我有一张如下表: 我正在尝试计算满足特定条件的所有行: 如果DEC小于c DEC且APR大于c APR,或者如果DEC小于d DEC且APR大于d APR,则对这些行进行计数 这是我目前使用的公式,但它不正确: =SUMPRODUCT((G4:G6<K4:K6)*(H4:H6>L4:L6)+(G4:G6<M4:M6)*(H4:H6>N4:N6)) =SUMPRODUCT((G4:G6L4:L6)+(G4:G6N4:N6)) 该公式将给出该示例表的和4,而我要寻找的是

我有一张如下表:

我正在尝试计算满足特定条件的所有行:

如果DEC小于c DEC且APR大于c APR,或者如果DEC小于d DEC且APR大于d APR,则对这些行进行计数

这是我目前使用的公式,但它不正确:

=SUMPRODUCT((G4:G6<K4:K6)*(H4:H6>L4:L6)+(G4:G6<M4:M6)*(H4:H6>N4:N6))
=SUMPRODUCT((G4:G6L4:L6)+(G4:G6N4:N6))
该公式将给出该示例表的和4,而我要寻找的是和3

任何帮助都将不胜感激

编辑:以下是表格的图片,包含更多信息:


您可以通过检查返回值大于零的数量来避免重复计数,然后将其用于G(或任何其他列)中的数据

=SUMPRODUCT(((G4:G6L4:L6)+(G4:G6N4:N6))>0)*G4:G6)

使用“评估公式”工具,您可以逐步查看公式并查看需要调整的位置。

了解数据样本所在的列会有所帮助。第一列G???@teylyn是正确的,我刚刚添加了另一个包含更多信息的屏幕截图。这解决了我的答案,评估工具肯定是遗漏的一步。我读的一篇文章说,使用双减号是将布尔数组转换为1和0的主要方法。您使用
*G4:G6)
而不是
=SUMPRODUCT(((G4:G7L4:L7)+(G4:G7N4:N7))>0)有什么原因吗?在你的解上使用双减号,公式会有什么不同吗?双一元
--
和运算符都会将真/假转换为1或0,因此你可以使用其中一个。由于您已经选择了运算符(因为OR逻辑只能用
+
运算符来完成),因此我继续进行。我非常喜欢保持公式的可维护性,使用您已经了解的内容意味着您可能会记得在几个月后回到公式时所做的事情。
=SUMPRODUCT((((G4:G6<K4:K6)*(H4:H6>L4:L6)+(G4:G6<M4:M6)*(H4:H6>N4:N6))>0)*G4:G6)