ARRAYFORMULA 中的 SUMIFS 添加不应该在 Google 工作表中的行
SUMIFS in ARRAYFORMULA adding rows it shouldn't in Google Sheets
我在 https://docs.google.com/spreadsheets/d/1eIq67HjeOrH8UqWZqtIE5ZhNcfI_lepcL_ADbzVkSzU/edit?usp=sharing 有一个样本 sheet。
在 report
选项卡中,我在 D1
中有一个公式:
={
"Totals";
ARRAYFORMULA(
IF(
A2:A <> "",
SUMIFS(
data!E:E,
data!D:D, "" & C2:C,
data!C:C, "alpha"
),
)
)
}
思路是如果data!D:D
等于数组公式的report!C2:C
且data!C:C
等于alpha
则求和data!E:E
。 report!C2:C
有一个 YYYY-MM
文本格式的日期。而data!C:C
也一样。
但公式返回无效行。例如,data!C:C
没有 2022-06
,但公式为它返回 350
。
您不能在 arrayformula 中使用 SUMIFS()。不过,您可以使用 SUMIF()。
=ARRAYFORMULA({"Totals";IF(A2:A="",,SUMIF(data!C:C&data!D:D,"alpha"&C2:C,data!E:E))})
应该可以
尝试:
=INDEX(QUERY(QUERY({FILTER(data!D:E, data!C:C="alpha");
FLATTEN({2021, 2022}&"-"&TEXT(SEQUENCE(12), "00")), SEQUENCE(24, 1,,)},
"select Col1,sum(Col2) where Col1 matches '^(2021.*|2022.*)' group by Col1"), "offset 1", ))
我在 https://docs.google.com/spreadsheets/d/1eIq67HjeOrH8UqWZqtIE5ZhNcfI_lepcL_ADbzVkSzU/edit?usp=sharing 有一个样本 sheet。
在 report
选项卡中,我在 D1
中有一个公式:
={
"Totals";
ARRAYFORMULA(
IF(
A2:A <> "",
SUMIFS(
data!E:E,
data!D:D, "" & C2:C,
data!C:C, "alpha"
),
)
)
}
思路是如果data!D:D
等于数组公式的report!C2:C
且data!C:C
等于alpha
则求和data!E:E
。 report!C2:C
有一个 YYYY-MM
文本格式的日期。而data!C:C
也一样。
但公式返回无效行。例如,data!C:C
没有 2022-06
,但公式为它返回 350
。
您不能在 arrayformula 中使用 SUMIFS()。不过,您可以使用 SUMIF()。
=ARRAYFORMULA({"Totals";IF(A2:A="",,SUMIF(data!C:C&data!D:D,"alpha"&C2:C,data!E:E))})
应该可以
尝试:
=INDEX(QUERY(QUERY({FILTER(data!D:E, data!C:C="alpha");
FLATTEN({2021, 2022}&"-"&TEXT(SEQUENCE(12), "00")), SEQUENCE(24, 1,,)},
"select Col1,sum(Col2) where Col1 matches '^(2021.*|2022.*)' group by Col1"), "offset 1", ))