如何在Excel中用函数求出多个条件下的剩余值?

已知A列为数据录入的时间,左边只记录进货的规格数量,右边只记录销售的规格数量,最终J列显示当前日期指定的规格剩余多少数量(比如:J3显示的是3月1日的时候,苹果-A-国产的剩余数量为进货100-销售0=剩余100.......J9显示的是3月2日时,香蕉-B-国产的剩余数量为进货50-销售40=剩余10),因为后期数据比较庞大,想要在J列通过函数自动进行计算,谢谢!

第1个回答  2024-04-20

在Excel中,你可以使用多种函数组合来求出多个条件下的剩余值。这通常涉及到使用SUMIFS、AVERAGEIFS等条件求和或条件平均函数,或者使用SUMPRODUCT结合逻辑数组来实现更复杂的条件计算。但请注意,SUMIFS和AVERAGEIFS并不是Excel的内置函数;你可能想要的是SUMIF或AVERAGEIF,或者它们的更强大的版本SUMIFS(在Excel中没有这个函数,但你可以使用SUMIF结合数组公式或SUMPRODUCT)和AVERAGEIFS(同样,没有这个函数,但可以使用类似的方法)。

以下是一个使用SUMPRODUCT函数来求出多个条件下的剩余值的例子:

假设你有一个数据表,其中A列是产品名称,B列是销售数量,C列是价格。你想要找出所有名为"产品A"且价格大于100的产品的剩余数量(假设剩余数量等于总数量减去销售数量)。

你可以在另一个单元格中输入以下公式:

excel复制代码

=SUMPRODUCT((A2:A100="产品A")*(C2:C100>100)*(B2:B100)) - SUMIF(A2:A100,"产品A",SUMIF(C2:C100,">100",B2:B100))    

这个公式做了以下几件事:

    (A2:A100="产品A") 创建一个逻辑数组,其中与"产品A"匹配的行为TRUE,否则为FALSE。

    (C2:C100>100) 创建另一个逻辑数组,其中价格大于100的行为TRUE,否则为FALSE。

    SUMPRODUCT((A2:A100="产品A")*(C2:C100>100)*(B2:B100)) 计算满足前两个条件的行的销售数量之和。

    SUMIF(A2:A100,"产品A",SUMIF(C2:C100,">100",B2:B100)) 计算满足这两个条件的行的销售数量之和(这是一个嵌套的SUMIF函数,首先根据产品名称筛选行,然后在筛选后的结果中根据价格筛选行)。

    最后,从第一个SUMPRODUCT的结果中减去SUMIF的结果,得到剩余数量。

    请注意,这个公式假设你的数据没有标题行,并且所有的数据都紧密排列在一起。如果你的数据有不同的结构或包含标题行,你可能需要调整公式中的单元格引用。此外,这个公式可能不是最优的或最高效的解决方案,特别是当处理大量数据时。在实际应用中,你可能需要根据具体情况调整和优化公式。