在 Google 表格中,如何根据在不同列中拆分字符串的结果来聚合值(MAX、MIN、AVERAGE)?

In Google Sheets, how can one aggregate values (MAX, MIN, AVERAGE) based on the result of splitting a string in a different column?

如果我有一个具有以下值的 table,我如何生成以下 table?结果 table 将每个标签分开并计算带有提及标签的行数 (COUNT) 以及给定标签的最大值。

    +-----+-------------+
    | VAL | TAGS        |
    +-----+-------------+
    |  4  | html, css   | 
    +-----+-------------+
    |  2  | js, ts      |
    +-----+-------------+
    |  3  | js, css     |
    +-----+-------------+
    +------+-------+-------+
    | TAG  | COUNT |  MAX  |
    +------+-------+-------+
    | html |   1   |   4   |
    +------+-------+-------+
    | css  |   2   |   4   |
    +------+-------+-------+
    | js   |   2   |   3   |
    +------+-------+-------+
    | ts   |   1   |   2   |
    +------+-------+-------+

尝试:

=ARRAYFORMULA(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(IFERROR(SPLIT(B3:B, ","))<>"", "♀"&A3:A&"♦"&SPLIT(
 SUBSTITUTE(B3:B, ", ", ","), ",")&"♦", )),,999^99)),,999^99), "♀")), "♦"), 
 "select Col2,count(Col1),avg(Col1),max(Col1),min(Col1) 
  group by Col2
  label Col2'tags'"))

使用这样的公式:

=query (
   arrayformula (
      split (
         transpose (
            split (
               textjoin (
                     ",",true, 
                     arrayformula (
                         {filter(A90:A,A90:A<>"") & "✫" & 
                          trim(split(filter(B90:B,A90:A<>""),","))
                         }
                     )
               ),",")
            ),"✫"
         )
      ), 
   "select Col2, count(Col2), max(Col1) where Col2 is not null group by Col2  label Col2 'Tag'")