Google 表格 - 我如何 return 参与者按团队得分,按得分排序?
Google Sheets - how can I return participants scores by team, sorted by score?
我有一个 sheet 和参与者分数,每个参与者都在一个团队中。在第二个 sheet 中,我使用以下公式在每一行中创建每个团队的参与者分数子集。
这是 link 到 sheet with sample data showing my formula:
如何让结果按数字降序排列?
我试过使用 SORT() 函数(第二个 C 列 sheet),但可以理解,它将结果解释为文本,因此 10 分排名最低。
只需将 SORT
函数的第二个参数替换为 Score
。
=if($A:$A="","",arrayformula(textjoin(" ",true,sort(if(Team=A2,Score&" ("&Name&")",""),Score,false))))
删除 A:B
:
范围内的所有内容后,试试这个高级公式
={"Team", "Scores"; INDEX({UNIQUE(SORT(FILTER(data!B2:B, data!B2:B<>""))),
FLATTEN(SUBSTITUTE(TRIM(QUERY(REGEXREPLACE(SORT(QUERY(
QUERY({data!B2:B, TEXT(data!C2:C, "000000")&CHAR(13)&"("&data!A2:A&")"},
"select min(Col2) where Col1 is not null group by Col2 pivot Col1"),
"offset 1", 0), SEQUENCE(COUNTA(data!A2:A)), 0),
"^0{1,5}", ),,9^9)), " ", CHAR(10)))})}
我有一个 sheet 和参与者分数,每个参与者都在一个团队中。在第二个 sheet 中,我使用以下公式在每一行中创建每个团队的参与者分数子集。
这是 link 到 sheet with sample data showing my formula:
如何让结果按数字降序排列?
我试过使用 SORT() 函数(第二个 C 列 sheet),但可以理解,它将结果解释为文本,因此 10 分排名最低。
只需将 SORT
函数的第二个参数替换为 Score
。
=if($A:$A="","",arrayformula(textjoin(" ",true,sort(if(Team=A2,Score&" ("&Name&")",""),Score,false))))
删除 A:B
:
={"Team", "Scores"; INDEX({UNIQUE(SORT(FILTER(data!B2:B, data!B2:B<>""))),
FLATTEN(SUBSTITUTE(TRIM(QUERY(REGEXREPLACE(SORT(QUERY(
QUERY({data!B2:B, TEXT(data!C2:C, "000000")&CHAR(13)&"("&data!A2:A&")"},
"select min(Col2) where Col1 is not null group by Col2 pivot Col1"),
"offset 1", 0), SEQUENCE(COUNTA(data!A2:A)), 0),
"^0{1,5}", ),,9^9)), " ", CHAR(10)))})}