Excel - 基于来自另一个工作表的匹配的SUM

时间:2014-08-17 00:09:02

标签: excel

我有两张纸。

SHEET1有一个NAME和一个DATE列。

SHEET2有NAME,DATE和TOTAL列。

SHEET1具有唯一的名称和日期(可能有多个NAME,但不能超过一个具有相同DATE的NAME)。

SHEET2有一堆多个名字和日期与总数。

实施例

SHEET1

NAME        DATE
Todd        3/12/2013
Andy        3/15/2013
Bill        11/11/2013
Paul        3/10/2014

SHEET2

NAME        DATE            TOTAL
Todd        3/12/2013       $10
Todd        3/12/2013       $15
Todd        3/19/2013       $12
Bill        11/11/2013      $10
Bill        11/15/2013      $12
ANDY        3/15/2013       $15
Paul        3/25/2014       $20

如果SHEET1与SHEET2匹配,我需要能够每月和每年总计。在上面的示例中,它将如下所示:

2013年3月 - 40美元(Paul和最后一个Todd不计算在内,因为Todd的SHEET2中的日期与SHEET1中的Todd的NAME和DATE不符)

2013年11月 - 10美元(同样,SHEET2上的最后一个账单总数不计算在内,因为该日期与SHEET1上的Bill不符。)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我假设表格在相应的工作表中的A1开始,而工作表是calles Sheet1,Sheet2(你可能必须采用公式)

Sheet 2中

NAME**********DATE************TOTAL*********IsValid
Todd**********3/12/2013*******$10***********=COUNTIFS(Sheet1!$A:$A,A2,Sheet2!$B:$B,B2)>0
Todd**********3/12/2013*******$15***********=COUNTIFS(Sheet1!$A:$A,A3,Sheet2!$B:$B,B3)>0
...

COUNTIFS(Sheet1!$ A:$ A,A2,Sheet2!$ B:$ B,B2)计算sheet1列A中它等于(sheet2)A2的行数,以及sheet1列B中等于的行数( sheet2)B2

表Sheet 3

DATE***********TOTAL
1/1/2013*******=SUMIFS(Sheet2!$C:$C,Sheet2!$D:$D,true,Sheet2!$B:$B,">=" & A2,Sheet2!$B:$B,"<" & DATE(YEAR(A2),MONTH(A2)+1,1))
2/1/2013*******=SUMIFS(Sheet2!$C:$C,Sheet2!$D:$D,true,Sheet2!$B:$B,">=" & A3,Sheet2!$B:$B,"<" & DATE(YEAR(A3),MONTH(A3)+1,1))
...

SUMIFS(Sheet2!$ C:$ C,Sheet2!$ D:$ D,true,Sheet2!$ B:$ B,&#34;&gt; =&#34;&amp; A2,Sheet2!$ B :$ B,&#34;&lt;&#34;&amp; DATE(年(A2),月(A2)+1,1))总和Sheet2中的所有单元格!$ C:$ C其中在同一行中D列等于true,B列等于A2,B列低于A2下个月的开始