具有水平和垂直标准的 SUMIFS 公式 + REGEXMATCH
SUMIFS formula with horizontal and vertical criteria + REGEXMATCH
我需要一些帮助来尝试根据水平和垂直标准对不同事件的总数求和。我试过对 SUMIFS + INDEX + MATCH 公式进行不同的组合,包括转置数据和使用这个公式:。但是我无法使用任何公式。
这是我要实现的目标:
我正在尝试根据某些标准对不同事件的总数求和
- 渠道+地区
- 频道+地区+日期
数据位于“数据选项卡”中,我试图在“仪表板”选项卡中对总计求和:https://docs.google.com/spreadsheets/d/1p3cuzamRUiUAiDXQMPG4hmoHonCM8nk44diYSariBgM/edit?usp=sharing。
我需要使用 REGEXMATCH 来匹配频道名称(sem 或 display)和区域名称(uscan、emea、japac、latam)。
如您所见,活动名称和事件是垂直数据,日期数据是水平数据。我能否获得有关最佳公式的帮助,以使用基于这些标准的事件总计求和?
提前致谢!
尝试:
=ARRAYFORMULA(QUERY({UPPER({FILTER(REGEXEXTRACT(Data!B2:B, "(?i)SEM|Display"), Data!B2:B<>"");
FLATTEN(IFERROR(FILTER(Data!B2:B, Data!B2:B<>"")/0)&TRANSPOSE(UNIQUE(FLATTEN(FILTER(YEAR(Data!C1:G1), ISDATE_STRICT(Data!C1:G1))))))}),
UPPER({FILTER(REGEXEXTRACT(Data!B2:B, "(?i)USCAN|EMEA|JAPAC|LATAM"), Data!B2:B<>"");
FLATTEN(TEXT(FILTER(REGEXEXTRACT(Data!B2:B, "(?i)USCAN|EMEA|JAPAC|LATAM"), Data!B2:B<>""), SEQUENCE(1, COUNTUNIQUE(FILTER(YEAR(Data!C1:G1), ISDATE_STRICT(Data!C1:G1))))))}),
{QUERY(QUERY(FILTER(IFERROR(1*Data!C2:G, 0), Data!B2:B<>""), "select "&TEXTJOIN("+", 1, "Col"&SEQUENCE(COLUMNS(Data!C2:G)))), "offset 1", );
FLATTEN(QUERY(QUERY(SPLIT(FLATTEN(FILTER(ROW(Data!B2:B)&"×"&YEAR(Data!C1:G1)&"×"&Data!C2:G, Data!B2:B<>"")), "×"),
"select sum(Col3) group by Col1 pivot Col2"), "offset 1", ))}},
"select Col1,sum(Col3) group by Col1 pivot Col2 order by Col1 desc"))
demo sheet with step by step formula explanation
我需要一些帮助来尝试根据水平和垂直标准对不同事件的总数求和。我试过对 SUMIFS + INDEX + MATCH 公式进行不同的组合,包括转置数据和使用这个公式:
这是我要实现的目标:
我正在尝试根据某些标准对不同事件的总数求和
- 渠道+地区
- 频道+地区+日期
数据位于“数据选项卡”中,我试图在“仪表板”选项卡中对总计求和:https://docs.google.com/spreadsheets/d/1p3cuzamRUiUAiDXQMPG4hmoHonCM8nk44diYSariBgM/edit?usp=sharing。
我需要使用 REGEXMATCH 来匹配频道名称(sem 或 display)和区域名称(uscan、emea、japac、latam)。
如您所见,活动名称和事件是垂直数据,日期数据是水平数据。我能否获得有关最佳公式的帮助,以使用基于这些标准的事件总计求和?
提前致谢!
尝试:
=ARRAYFORMULA(QUERY({UPPER({FILTER(REGEXEXTRACT(Data!B2:B, "(?i)SEM|Display"), Data!B2:B<>"");
FLATTEN(IFERROR(FILTER(Data!B2:B, Data!B2:B<>"")/0)&TRANSPOSE(UNIQUE(FLATTEN(FILTER(YEAR(Data!C1:G1), ISDATE_STRICT(Data!C1:G1))))))}),
UPPER({FILTER(REGEXEXTRACT(Data!B2:B, "(?i)USCAN|EMEA|JAPAC|LATAM"), Data!B2:B<>"");
FLATTEN(TEXT(FILTER(REGEXEXTRACT(Data!B2:B, "(?i)USCAN|EMEA|JAPAC|LATAM"), Data!B2:B<>""), SEQUENCE(1, COUNTUNIQUE(FILTER(YEAR(Data!C1:G1), ISDATE_STRICT(Data!C1:G1))))))}),
{QUERY(QUERY(FILTER(IFERROR(1*Data!C2:G, 0), Data!B2:B<>""), "select "&TEXTJOIN("+", 1, "Col"&SEQUENCE(COLUMNS(Data!C2:G)))), "offset 1", );
FLATTEN(QUERY(QUERY(SPLIT(FLATTEN(FILTER(ROW(Data!B2:B)&"×"&YEAR(Data!C1:G1)&"×"&Data!C2:G, Data!B2:B<>"")), "×"),
"select sum(Col3) group by Col1 pivot Col2"), "offset 1", ))}},
"select Col1,sum(Col3) group by Col1 pivot Col2 order by Col1 desc"))