Excel sumifs比较两列值

t3irkdon  于 2023-02-10  发布在  其他
关注(0)|答案(2)|浏览(221)

因此,我试图汇总一个列只为一个特定的组时,日期列大于转移日期。例如,汇总所有的付款后,转移日期为公司AGC。到目前为止,我有这个

=+SUMIFS('669287_1393_MX_Exa_Payments_GRL'!C2:C926,'669287_1393_MX_Exa_Payments_GRL'!B2:B926,">"&'669287_1393_MX_Exa_Payments_GRL'!A2:A926)

问题是,因为它比较所有列,结果将是所有行,而不是只有一行。第一个堆栈溢出,所以我学习:(Excel file
我已经试着在网上找到这个问题,试着用GPT,但还是找不到答案。也试过这样的公式

=+SUM(C:C*(B:B>=A:A)*(D:D=H2))

但不起作用

wn9m85ua

wn9m85ua1#

这里有些东西不见了或者被误用了。

  • 您的函数正在创建一个925行长的 answers 数组,而这不是您想要的。
  • 此外,您还必须使用美元符号对源代码范围进行行锁定。
  • 各种... IFS()函数,如=SUMIFS(),实际上并不支持复杂的比较,这就是使用SUMPRODUCT()的更高级方法的用武之地。这个主题太大,在这里不需要深入研究太多细节,但理解SUMPRODUCT()方法处理更复杂的条件是一项非常重要的高级Excel技能,值得掌握。It“值得阅读和观看一些视频来完全掌握。

在单元格I2中:
=SUMPRODUCT( C$2:C$926 * ( B$2:B$926 > A$2:A$926) * ( E$2:E$926 = H2 ) )
然后复制或填充到H3,H4和H5...或者无论你想为多少公司求和。记住A到E中行号前的$符号很重要。
如果结果表将位于不同的工作表中,比如从A2开始,结果位于B2,这时您需要像这样完全限定工作表名称,但仅限于查找数据。注意A2既没有用$锁定,也没有用工作表名称限定:
SUMPRODUCT( '669287_1393_MX_Exa_Payments_GRL'!C$2:C$926 * ( '669287_1393_MX_Exa_Payments_GRL'!B$2:B$926 > '669287_1393_MX_Exa_Payments_GRL'!A$2:A$926) * ( '669287_1393_MX_Exa_Payments_GRL'!E$2:E$926 = A2 ) )
然后,将该公式复制/填入B2、B3等,无论你要加多少公司。

ua4mk5z4

ua4mk5z42#

有条件求和

=LET(Amounts,(A2:A926<B2:B926)*C2:C926,Comps,E2:E926,LComps,H2:H5,
BYROW(LComps,LAMBDA(LComp,SUM(Amounts*(Comps=LComp)))))

相关问题