【问题标题】:How can I sum values from range using two criterias both with ranges using OR condition in Google Sheets如何使用两个条件对范围中的值求和,同时在 Google 表格中使用 OR 条件
【发布时间】:2020-03-30 22:28:12
【问题描述】:
【问题讨论】:
标签:
google-sheets
sum
match
google-sheets-formula
array-formulas
【解决方案1】:
尝试:
=INDEX(SUM(INDIRECT(
ADDRESS(IFERROR(MATCH(E2&F2; A$2:A&B$2:B; 0)+ROW(B$2)-1; 2); COLUMN(C2))&":"&
ADDRESS(IFERROR(MATCH(E3&F3; A$2:A&B$2:B; 0)+ROW(B$2)-1; ROWS(C:C)); COLUMN(C2)))))
请注意,E 列中的日期需要与 F 列中的正确日期配对
只做日期使用:
=INDEX(SUM(INDIRECT(
ADDRESS(IFERROR(MATCH(E2; A$2:A; 0)+ROW(B$2)-1; 2); COLUMN(C2))&":"&
ADDRESS(IFERROR(MATCH(E3; A$2:A; 0)+ROW(B$2)-1; ROWS(C:C)); COLUMN(C2)))))
缩短:
=INDEX(SUM(INDIRECT(
ADDRESS(IFERROR(MATCH(E2; A$2:A; 0)+1; 2); 3)&":"&
ADDRESS(IFERROR(MATCH(E3; A$2:A; 0)+1; ROWS(C:C)); 3))))
【解决方案2】:
我终于想出了一个相当优雅的方法,尽管是针对我的具体问题:
SUMPRODUCT(SUMIF(WEEKDAY(A2:A; 2); ">=6"; C2:C)-SUMPRODUCT((C2:C)*(WEEKDAY(A2:A; 2)>=6)*(ISNUMBER(MATCH(A2:A;E2:E;0)))))+SUMPRODUCT(SUMIF(A2:A; E2:E; C2:C))
这会将数字大于 6 的天数(我的国家/地区的星期六和星期日)的小时数相加,并从中减去同时是周末和范围(节假日)的天数的小时数总和。这样我就可以得到没有假期的周末,然后只需添加假期的 sumproduct。
如果你想使用它,你可能需要调整周末的条件,这应该不难。