[英]Grab data from another sheet based on values matching in Excel with VBA
[英]Excel - SUM based on matching from another sheet
我有两张。
SHEET1具有NAME和DATE列。
SHEET2具有“名称”,“日期”和“总计”列。
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不会计算在内,因为SHEET2中Todd的日期与SHEET1中Todd的名称和日期不匹配)
2013年11月-10美元(同样,由于日期与SHEET1上的帐单不符,因此SHEET2上的最后一个帐单总计将不会计入)。
有任何想法吗?
我假设表从相应工作表的A1开始,并且工作表分别称为Sheet1,Sheet2(您可能必须采用公式)
Sheet2中
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,“> =”&A2,Sheet2!$ B:$ B,“ <”&DATE(YEAR (A2),MONTH(A2)+1,1))对Sheet2中的所有单元格求和!$ C:$ C,其中D列在同一行中等于true,B列等于A2且B列低于A2下个月开始
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.