EXCEL中如何在满足条件的情况下求和

如图在现有的公式基础上C3等于,B3大于0的情况下C3加B3,如各B3小于0时C3现在的数值不变,请大师们帮忙如何在现在的公式情况下加入公式得到想要的结果,谢谢

看过几遍后,尚有几个问题没弄明白,能否追问+提问中补充说明,澄清以下几个问题:
1. 3个截图分别代表什么?要说明什么问题?3个截图是3个不同的工作表吗?它们之间的关系是怎样的?
2. 图2中的所显示的公式中,有N(D3)和N(E3),但截图中没有D列,D列是什么?为什么你的公式中引用单元格数字要加上一个N?难道原数字是文本?为何不直接用数字,而要这么麻烦呢?

3. 图3中的公式引用的“下单”工作表是否是图1,还是没有截图?

4. 你的要求是什么?请用具体的数字举例说明,如图2中的B3,得到的正确结果应该是多少?为何是这个结果(即按什么样的规则得到的)?图3中的C3的正确结果又应该是什么?
总之,另是只有知道你的数据是怎样的,从哪些工作表中引用数据来计算,根据什么样的规则来计算。也就是你对着电脑看到的,心中所想的,别人都要和你一样都知道,才能给你提供帮助。而不是靠别人来猜测。追问

想做一张成品库存表,在成品库存表里B2=E2+D2-C2

C2=IF(ISNUMBER(MATCH($A2,下单!$C$1:$C$4170,0)),SUMIF(下单!$C$1:$C$4170,$A2,下单!$E$1:$E$4170),"")

D2=IF(ISNUMBER(MATCH($A2,成品入库记录!$C$1:$C$4170,0)),SUMIF(成品入库记录!$C$1:$C$4170,$A2,成品入库记录!$E$1:$E$4170),""),不知大师能不能帮我写一个更简单的公式,现在我想在C2=B2大于0时与C2相加,B2小于0时C2里的数值不变.

追答

好象有些明白了,请看看我下面所说的,是不是理解了你的问题:
1. 你是做产品的销售库存数据,这一步理解是否对?
2. 下单记录的是外部到你单位购买产品的数量。
3. 生产车间生产的产品定期入库,入库的数量(D列)加上初期库存数量(E列),总量应该是可以供销售的。这个总量-下单数就是新的库存数量(B列)
4. 现在你需要,如果新的库存大于0,那么要把下单数量修改到使新的库存等于0,而如果新库存小于0(客户下单数量超过你们的供货能力时),下单数量不做修改。
以上理解对吗?
如果是对的,那么

C2=MAX(SUMIF(下单!$C$1:$C$4170,$A2,下单!$E$1:$E$4170),D2+E2)

感觉原公式的IF是多余的,SUMIF得到结果无非是条件求和得到的该行A列型号下单的数量或为0(没有人下单)或大于0(有人下单),而你的公式把0设置为空罢了。实际上,在数据计算中,公式添加的空("")可能会引用不必要的麻烦,而按实际的数字0,处理起来要好得多。开始回答时要求你澄清的第2条,应该就是这个原因引用的。
D列公式也是一样,直接:
D2=SUMIF(成品入库记录!$C$1:$C$4170,$A2,成品入库记录!$E$1:$E$4170)
要好得多!
如果本追答中前述的4条理解是对的,那么最终还是不明白,为何要做这样的修改。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-05
利用IF()和SUM()两个函数组合.
比如:要将A列和B列中大于等于60的数值求和放在B列,可输入如下公式:=SUM(IF((A1>=60),A1,0)+IF((B1>=60),B1,0))
第2个回答  2020-06-03
=sumproduct((a2:a6=1)*(b2:b6="a")*c2:c6)
解释:用sumproduct进行条件求和
公式为
sumproduct((条件区域1=条件1)*(条件区域2=条件1)*(条件区域n=条件n)*求和的数据区域)
第3个回答  2020-05-26
C3公式改为
=IF(ISNUMBER(MATCH($A3,下单!$C$3:$C$4171,0)),SUMIF(下单!$C$3:$C$4171,$A3,下单!$E$3:$E$4171)+IF(B3>0,B3,0),"")
如果公式只向下填充,引用区域前的绝对引用符号“$”可以省去,公式看起来不会太复杂。追问

我想C3公式等于B3大于0时B3+C3,如果小于0时C3里的数值不变,

C3=IF(ISNUMBER(MATCH($A3,下单!$C$3:$C$4171,0)),SUMIF(下单!$C$3:$C$4171,$A3,下单!$E$3:$E$4171)+IF(B3>0,B3,0),"") 好像不行

追答

细看,问题出在于你的B3公式=IF(A3="",0,N(D3)-N(C3)+N(E3)):
B3引用C3,而C3又引用B3,你的要求“C3等于,B3大于0的情况下C3加B3,如各B3小于0时C3现在的数值不变”与你的B3公式相互引用,程序自然会提示“循环引用”。
假设,把B3公式引入C3(先不考虑A3=""):
C3=IF((D3+E3)>C3,C3+(D3+E3),C3)——循环引用导致公式不成立!

相似回答