1

我有 n 列和 m 行单元格。

在此处输入图像描述

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

    主题 1、主题 8、主题 13、主题 n

  2. 然后,我想将这些先前连接的条目中的每一个批量连接成一个以分号分隔的条目序列:

    主题1、主题8、主题13、主题n;主题 2, 主题 9, 主题 10, 主题 n;....

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

它基本上是一个将表格缩小为单个单元格的反向文本到列。我曾尝试使用 来执行此CONCATENATE操作,但它不适用于 n 列/m 行,而且我似乎找不到宏解决方案。我将不胜感激在这件事上的任何帮助!

4

1 回答 1

2

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

=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))

0

于 2020-03-27T18:56:51.033 回答