如何在一个 QUERY 中合并 SORT/ORDER 和 GROUP?

How can I combine SORT/ORDER and GROUP in one QUERY?

在这个 example 中,我将 Google 表单的结果与此代码结合起来:

    ={"Faglig vurdering for "& SUM(COUNTUNIQUE('Formularsvar 1'!D2:D; "*9M*"))&" elever i 9M";
 QUERY(ARRAYFORMULA(IF((LEN('Formularsvar 1'!D2:D))*('Formularsvar 1'!C2:C="9M");
 ('Formularsvar 1'!D2:D&CHAR(10)&
  'Formularsvar 1'!E2:E&CHAR(10)&
  'Formularsvar 1'!F1&" "&'Formularsvar 1'!$F:F&" "&
  'Formularsvar 1'!G1&" "&'Formularsvar 1'!$G:G&" "&
  'Formularsvar 1'!H1&" "&'Formularsvar 1'!$H:H&" "&
  'Formularsvar 1'!$I:I&CHAR(10)); ));"where Col1 is not null ORDER BY Col1"; 0)}

我想做的是 SORT/ORDER 并将结果分组,如 example 中的所需输出所示。

是否可以在查询中执行两个输出之一,还是我做错了?

这里有一个小公式:

=SORT(
  ARRAYFORMULA(REGEXREPLACE(
    TRANSPOSE(QUERY(TRANSPOSE(
      ARRAYFORMULA(
        {
          UNIQUE(FILTER('Formularsvar 1'!D2:D; REGEXMATCH('Formularsvar 1'!C2:C; "9M"))) & CHAR(10) \
          IF(
            UNIQUE(FILTER('Formularsvar 1'!D2:D; REGEXMATCH('Formularsvar 1'!C2:C; "9M"))) <> TRANSPOSE(FILTER('Formularsvar 1'!D2:D; REGEXMATCH('Formularsvar 1'!C2:C; "9M")));
              "";
              TRANSPOSE(FILTER(
                  'Formularsvar 1'!E2:E & CHAR(10)
                & 'Formularsvar 1'!F1   & " "
                & 'Formularsvar 1'!F2:F & " "
                & 'Formularsvar 1'!G1   & " "
                & 'Formularsvar 1'!G2:G & " "
                & 'Formularsvar 1'!H1   & " "
                & 'Formularsvar 1'!H2:H & " "
                & 'Formularsvar 1'!I2:I & CHAR(10) & CHAR(10);
                REGEXMATCH('Formularsvar 1'!C2:C; "9M")
              ))
          )
        }
      )
    ); ; ROWS(FILTER('Formularsvar 1'!D2:D; REGEXMATCH('Formularsvar 1'!C2:C; "9M"))) + 1));
    "\n +"; CHAR(10)
  ))
)