Arrays SUMIF计算不正确
我有两个选项卡,一个是日期,另一个是与日期关联的数字。另一个是按月份细分的数字。我用这个Sumifs来计算这个月的总数Arrays SUMIF计算不正确,arrays,date,google-sheets,google-sheets-formula,sumifs,Arrays,Date,Google Sheets,Google Sheets Formula,Sumifs,我有两个选项卡,一个是日期,另一个是与日期关联的数字。另一个是按月份细分的数字。我用这个Sumifs来计算这个月的总数 =SUM( sumifs('K-8 Visit Dates & Impacts'!$C$3:$C,'K-8 Visit Dates & Impacts'!$B$3:$B,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$B$3:$B,"<="&date(2020,2,28)),
=SUM(
sumifs('K-8 Visit Dates & Impacts'!$C$3:$C,'K-8 Visit Dates & Impacts'!$B$3:$B,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$B$3:$B,"<="&date(2020,2,28)),
sumifs('K-8 Visit Dates & Impacts'!$E$3:$E,'K-8 Visit Dates & Impacts'!$D$3:$D,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$D$3:$D,"<="&date(2020,2,28)),
sumifs('K-8 Visit Dates & Impacts'!$G$3:$G,'K-8 Visit Dates & Impacts'!$F$3:$F,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$F$3:$F,"<="&date(2020,2,28)),
sumifs('K-8 Visit Dates & Impacts'!$I$3:$I,'K-8 Visit Dates & Impacts'!$H$3:$H,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$H$3:$H,"<="&date(2020,2,28)),
sumifs('K-8 Visit Dates & Impacts'!$I$3:$I,'K-8 Visit Dates & Impacts'!$J$3:$J,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$J$3:$J,"<="&date(2020,2,28)),
sumifs('K-8 Visit Dates & Impacts'!$I$3:$I,'K-8 Visit Dates & Impacts'!$L$3:$L,">="&date(2020,2,1),'K-8 Visit Dates & Impacts'!$L$3:$L,"<="&date(2020,2,28)),sumifs('Misc Dates & Impacts'!$C$3:$C,'Misc Dates & Impacts'!$B$3:$B,">="&date(2020,2,1),'Misc Dates & Impacts'!$B$3:$B,"<="&date(2020,2,28))
)
=SUM(
sumifs('K-8访问日期和影响'!$C$3:'K-8访问日期和影响'!$B$3:“>=”和日期(2020,2,1),'K-8访问日期和影响'!$B$3:$B,“=”和日期(2020,2,1),'K-8访问日期和影响'!$D$3:“=”和日期(2020,2,1),'K-8访问日期和影响'!$F$3:“=”和日期(2020,2,1),'K-8访问日期和影响'!$H$3:$2020,1),“K-8访问日期和影响”!$J$3:$J,“=”和日期(2020,2,1),“K-8访问日期和影响”!$L$3:$L,“=”和日期(2020,2,1),“其他日期和影响”!$B$3:$B,粘贴到B2中并向下拖动:
=ARRAYFORMULA(SUM(
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$B$3:$B), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$C$3:$C), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$D$3:$D), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$E$3:$E), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$F$3:$F), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$G$3:$G), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$H$3:$H), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$I$3:$I), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$J$3:$J), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$K$3:$K), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$L$3:$L), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$M$3:$M), 0),
IFNA(SUMIF(MONTH('Misc Dates & Impacts'!$B$3:$B), MONTH(A3&1), 'Misc Dates & Impacts'!$C$3:$C), 0)))
粘贴到B2中并向下拖动:
=ARRAYFORMULA(SUM(
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$B$3:$B), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$C$3:$C), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$D$3:$D), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$E$3:$E), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$F$3:$F), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$G$3:$G), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$H$3:$H), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$I$3:$I), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$J$3:$J), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$K$3:$K), 0),
IFNA(SUMIF(MONTH('K-8 Visit Dates & Impacts'!$L$3:$L), MONTH(A3&1), 'K-8 Visit Dates & Impacts'!$M$3:$M), 0),
IFNA(SUMIF(MONTH('Misc Dates & Impacts'!$B$3:$B), MONTH(A3&1), 'Misc Dates & Impacts'!$C$3:$C), 0)))
这不是对您问题的确切回答,但我认为这可能是一种更好的方法,可以构建您未来需要的内容。如果您在共享工作表上找到一个名为“MK.Help”的新选项卡,您将在B1单元格中看到以下公式:
=ARRAYFORMULA(QUERY({IFERROR(QUERY(1*TEXT({'K-8 Visit Dates & Impacts'!B3:C;'K-8 Visit Dates & Impacts'!D3:E;'K-8 Visit Dates & Impacts'!F3:G;'K-8 Visit Dates & Impacts'!H3:I;'K-8 Visit Dates & Impacts'!J3:K;'K-8 Visit Dates & Impacts'!L3:M},{"mm-yyyy","0"}),"select 'K-8',Col1,Col2 where Col2>0 label 'K-8'''"),{"","",""});IFERROR(QUERY(1*TEXT({'CTE Visit Dates & Impacts'!B3:C;'CTE Visit Dates & Impacts'!D3:E;'CTE Visit Dates & Impacts'!F3:G;'CTE Visit Dates & Impacts'!H3:I;'CTE Visit Dates & Impacts'!J3:K;'CTE Visit Dates & Impacts'!L3:M},{"mm-yyyy","0"}),"select 'CTE',Col1,Col2 where Col2>0 label 'CTE'''"),{"","",""});IFERROR(QUERY(1*TEXT('District PD Dates & Impacts'!B2:C,{"mm-yyyy","0"}),"select 'District PD',Col1,Col2 where Col1>0 label 'District PD'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!B3:C,{"mm-yyyy","0"}),"select 'Misc Other',Col1,Col2 where Col2>0 label 'Misc Other'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!F3:G,{"mm-yyyy","0"}),"select 'Misc Summer',Col1,Col2 where Col2>0 label 'Misc Summer'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!J3:K,{"mm-yyyy","0"}),"select 'Misc District',Col1,Col2 where Col2>0 label 'Misc District'''"),{"","",""})},"select Col1,Col2,SUM(Col3) group by Col1,Col2 order by Col2,Col1 label Col1'Type',Col2'Month-Year',SUM(Col3)'Impacts'"))
这个公式生成了它下面的整个表。我想你可以用它来构建你所有的表,这可能比标签之间的所有移动要容易一些。我想你可以把它隐藏起来,作为一种“后端聚合器”“在您真正的工作表上。这并不是您问题的确切答案,但我认为这可能是一种更好的方法,可以构建您未来需要的内容。如果您在共享工作表上找到一个名为“MK.Help”的新选项卡,您将在B1单元格中看到以下公式:
=ARRAYFORMULA(QUERY({IFERROR(QUERY(1*TEXT({'K-8 Visit Dates & Impacts'!B3:C;'K-8 Visit Dates & Impacts'!D3:E;'K-8 Visit Dates & Impacts'!F3:G;'K-8 Visit Dates & Impacts'!H3:I;'K-8 Visit Dates & Impacts'!J3:K;'K-8 Visit Dates & Impacts'!L3:M},{"mm-yyyy","0"}),"select 'K-8',Col1,Col2 where Col2>0 label 'K-8'''"),{"","",""});IFERROR(QUERY(1*TEXT({'CTE Visit Dates & Impacts'!B3:C;'CTE Visit Dates & Impacts'!D3:E;'CTE Visit Dates & Impacts'!F3:G;'CTE Visit Dates & Impacts'!H3:I;'CTE Visit Dates & Impacts'!J3:K;'CTE Visit Dates & Impacts'!L3:M},{"mm-yyyy","0"}),"select 'CTE',Col1,Col2 where Col2>0 label 'CTE'''"),{"","",""});IFERROR(QUERY(1*TEXT('District PD Dates & Impacts'!B2:C,{"mm-yyyy","0"}),"select 'District PD',Col1,Col2 where Col1>0 label 'District PD'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!B3:C,{"mm-yyyy","0"}),"select 'Misc Other',Col1,Col2 where Col2>0 label 'Misc Other'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!F3:G,{"mm-yyyy","0"}),"select 'Misc Summer',Col1,Col2 where Col2>0 label 'Misc Summer'''"),{"","",""});IFERROR(QUERY(1*TEXT('Misc Dates & Impacts'!J3:K,{"mm-yyyy","0"}),"select 'Misc District',Col1,Col2 where Col2>0 label 'Misc District'''"),{"","",""})},"select Col1,Col2,SUM(Col3) group by Col1,Col2 order by Col2,Col1 label Col1'Type',Col2'Month-Year',SUM(Col3)'Impacts'"))
这个公式生成了它下面的整个表。我想你可以用它来构建你所有的表,这可能比标签之间的所有移动要容易一些。我想你可以把它隐藏起来作为一种“后端聚合器”在您的真实工作表上。我认为这是一个很好的方法,但可能也需要一个年度筛选(并转换为SUMIFS)。例如,第二行=IFNA(SUMIFS('K-8访问日期和影响'!$C$3:$C,月('K-8访问日期和影响'!$B$3:$B),月(A3和1),年('K-8访问日期和影响'!$B$3:$B),年(A3和1)),0)
不幸的是,当我使用此公式时,影响的数量没有增加。例如,8月份应该有40多个影响。我认为这是一个很好的方法,但可能也需要一年的筛选(并转换为SUMIFS)。例如,第二行=IFNA(SUMIFS('K-8访问日期和影响')!$C$3:$C,月('K-8访问日期和影响'!$B$3:$B),月(A3和1),年('K-8访问日期和影响'!$B$3:$B),年(A3和1)),0)
不幸的是,当我使用此公式时,影响的数量没有加起来。例如,8月份应该有40多个影响。