我需要在excel中创建一个公式,该公式返回一个范围内两列产品的总和,基于大于值。具体地,如果列E中的任何行是给定数字并且列H中的任何行是> 0,乘以列F和G并将这些乘积相加。 Excel使用下面的公式给出了值0,但我希望它给我225。
=IF(AND(shipping_logs!H2:H999999>0,shipping_logs!E2:E998940="395078"),
(SUMPRODUCT(shipping_logs!F2:F999999,shipping_logs!G2:G999999)),0)
G列和H列可以有负值,因此公式也需要最大值为0.如果产品的总和是负值,我希望它给我0,但我不确定我是什么我做错了..
答案 0 :(得分:2)
您只想使用SUMPRODUCT function可能的最小行数。这使得公式看起来变得复杂,但事实并非如此。
选择一个重要的列,最好是数字。列F或G都可以。要查找包含您可以使用的数字的最后一行,
use Doctrine\ORM\Tools\Pagination\Paginator;
$query->setMaxResults($limit);
$query->setFirstResult($offset);
$results = new Paginator($query, $fetchJoin = true);
即使有最后一个数字以下的东西,也不重要,因为我们只想要数字。
您的SUMPRODUCT公式现在是,
=MATCH(1e99, F:F)
如果细胞的范围超过2-3千,该公式将会导致明显的计算滞后。
答案 1 :(得分:0)
检查E列中的任何行是否为给定数字的公式之一是错误的。请尝试使用以下任何一种公式。
= IF(AND(shipping_logs H2:H999999大于0,(COUNTIF(shipping_logs E2:!E998940,395078)), (SUMPRODUCT(shipping_logs F2:F999999,shipping_logs G2:!G999999)),0)
= IF(AND(shipping_logs H2:H999999大于0,(ISNUMBER(MATCH(395078,shipping_logs E2:!E998940))), (SUMPRODUCT(shipping_logs F2:F999999,shipping_logs G2:!G999999)),0)
答案 2 :(得分:0)
这是我正在努力的另一种选择:
=SUMPRODUCT(shipping_logs!F2:INDEX(shipping_logs!F:F,COUNTA(shipping_logs!F:F)),
shipping_logs!G2:INDEX(shipping_logs!G:G,COUNTA(shipping_logs!G:G)),
--(shipping_logs!E2:INDEX(shipping_logs!E:E,COUNTA(shipping_logs!E:E))=395078),
--(shipping_logs!H2:INDEX(shipping_logs!H:H,COUNTA(shipping_logs!H:H))>0))