有没有办法在 Google 表格中将文本反转为列?

Is there a way to reverse-text-to-columns in Google Sheets?

我有 n 列和 m 行单元格。

  1. 我想将一行中的每个单元格批量连接成一个 逗号分隔的 条目:

    Topic 1, Topic 8, Topic 13, Topic n

  2. 然后,我想将这些先前连接的条目中的每一个批量连接成一个 semi-colon-separated 条目序列:

    Topic 1, Topic 8, Topic 13, Topic n; Topic 2, Topic 9, Topic 10, Topic n;....

  3. 我希望输出是将所有 n 列和 m 行转换为单个单元格中的文本,具有上述格式。

它基本上是一个反向文本到列,将 table 减少到单个单元格。我曾尝试使用 CONCATENATE 执行此操作,但它无法扩展 n-columns/m-rows,而且我似乎找不到宏解决方案。如果您能在这件事上提供任何帮助,我将不胜感激!

如果您的数据集很小,您可以使用:

=TEXTJOIN(", "; 1; A:D)

如果您的数据集很大,您可以这样做:

=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A:D="",,A:D&",")),,999^99)),,999^99))

空单元格可能会引入不需要的多行距,因此要解决这个问题:

=ARRAYFORMULA(QUERY(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A:D="",,"♦"&A:D&",")),,999^99)),,999^99), "♦"))),,999^99))

更新:

=ARRAYFORMULA(QUERY(QUERY(REGEXREPLACE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A3:D="",, A3:D&",")),,999^99))&";"), ", ;|,;", ";"),
 "where not Col1 starts with ';'", 0),,999^99))