【问题标题】:Sumproduct subtract total amount from oldest month in different month columnsSumproduct 减去不同月份列中最早月份的总金额
【发布时间】:2020-03-05 12:35:48
【问题描述】:

我有 4 个不同的数据库列

╔════╦════════════╦═════════╦═════════════╦═════════════╗
║    ║     A      ║    B    ║      C      ║      D      ║
╠════╬════════════╬═════════╬═════════════╬═════════════╣
║  1 ║ Date       ║ Party   ║ Debit       ║ Credit      ║
║  2 ║ 25-12-2019 ║ John    ║  50,000     ║             ║
║  3 ║ 27-12-2019 ║ Neil    ║  50,000     ║             ║
║  4 ║ 29-12-2019 ║ John    ║  1,00,000   ║             ║
║  5 ║ 01-Jan     ║ Neil    ║  50,000     ║             ║
║  6 ║ 05-Jan     ║ John    ║  8,00,000   ║             ║
║  7 ║ 08-Jan     ║ John    ║  70,000     ║             ║
║  8 ║ 28-Jan     ║ Neil    ║  20,000     ║             ║
║  9 ║ 02-Feb     ║ John    ║  30,000     ║             ║
║ 10 ║ 15-Feb     ║ Neil    ║  19,000     ║             ║
║ 11 ║ 27-Feb     ║ John    ║  21,000     ║             ║
║ 12 ║ 04-Mar     ║ John    ║  22,000     ║             ║
║ 13 ║ 08-Mar     ║ Neil    ║  88,000     ║             ║
║ 14 ║ 09-Mar     ║ John    ║  6,00,000   ║             ║
║ 15 ║ 05-Apr     ║ John    ║  7,05,000   ║             ║
║ 16 ║ 21-Apr     ║ Rebbika ║  25,00,000  ║             ║
║ 17 ║ 05-May     ║ John    ║             ║  7,00,000   ║
║ 18 ║ 07-May     ║ Neil    ║             ║  5,00,000   ║
║ 19 ║ 19-May     ║ John    ║             ║  1,00,000   ║
║ 20 ║ 21-May     ║ Rebbika ║             ║  10,00,000  ║
╚════╩════════════╩═════════╩═════════════╩═════════════╝ 

这是结果表(实际上是每个缔约方的试用期,每月余额

╔═══╦═════════╦════════╦════════╦═══════╦════════╦═════════╗
║   ║    E    ║   F    ║   G    ║   H   ║   I    ║    J    ║
╠═══╬═════════╬════════╬════════╬═══════╬════════╬═════════╣
║ 1 ║ Party   ║ Dec-19 ║ Jan-20 ║ Feb-20║ Mar-20 ║ Apr-20  ║
║ 2 ║ John    ║ -      ║ 220000 ║ 51000 ║ 622000 ║ 705000  ║
║ 3 ║ Neil    ║ 10000  ║ 70000  ║ 19000 ║ 88000  ║ 0       ║
║ 4 ║ Rebbika ║ -      ║ -      ║ -     ║ -      ║ 1500000 ║
╚═══╩═════════╩════════╩════════╩═══════╩════════╩═════════╝

这是我在 E2 到 J4 中使用的公式。 我复制的公式来自单元格 I2

=IF(SUMPRODUCT(--(MONTH($A$2:$A$20)=12)+--(MONTH($A$2:$A$20)<=2),--($B$2:$B$20=F3),$C$2:$C$20)-SUMIF($B$2:$B$20,F3,$D$2:$D$20)>1,SUMPRODUCT(--(MONTH($A$2:$A$20)=3),--($B$2:$B$20=F3),$C$2:$C$20),IF(SUMPRODUCT(--(MONTH($A$2:$A$20)=3),--($B$2:$B$20=F3),$C$2:$C$20)-(SUMIF($B$2:$B$20,F3,$D$2:$D$20)-SUMPRODUCT(--(MONTH($A$2:$A$20)=12)+--(MONTH($A$2:$A$20)<=2),--($B$2:$B$20=F3),$C$2:$C$20))<1,"",SUMPRODUCT(--(MONTH($A$2:$A$20)=3),--($B$2:$B$20=F3),$C$2:$C$20)-(SUMIF($B$2:$B$20,F3,$D$2:$D$20)-SUMPRODUCT(--(MONTH($A$2:$A$20)=12)+--(MONTH($A$2:$A$20)<=2),--($B$2:$B$20=F3),$C$2:$C$20))))

例如:- 12 月应支付给约翰的总应付款项为 150,000

收到的付款与月份或日期无关,它只是我们到该日期为止收到的全部付款 所以,如果他付给我们 120,000

12 月的余额 = 30,000,1-2-3 月...到期付款仍在等待中

如果我们收到了总付款 1,021,000

然后它将清除 12 月的 150,000 和 1 月的 870,000,以及 2 月的 1,000,并将 Dec 列显示为 Nill,Jan=Nill,Feb 50,000

应从最早的账单月份中减去收到的总金额

但是我正在使用的功能真的很混乱,并且使工作表有点沉重,有没有任何可能的更短和更好的方法来执行此任务,而不使用 vba 代码,但公式比我尝试的更短。它的 MS 2007

任何帮助将不胜感激

【问题讨论】:

    标签: excel excel-formula ms-office excel-2007


    【解决方案1】:

    我终于明白了

    =IFERROR(1/(1/ROUND(MAX(0,SUMIFS($C:$C,$B:$B,$E2,$A:$A,"<="&EOMONTH(F$1,0))-SUMIF($B:$B,$E2,$D:$D)-SUM($E2:E2)),0)),"-")
    

    垂直和水平拖动它非常好。

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      相关资源
      最近更新 更多