如何将Schematiq表中多行的文本连接成一个值

在Microsoft Excel中,我有一个Schematiq表,其中包含多个行中的值:

在这里输入图像说明

我想将所有的行值连接成单个值,并将其存储在由文本“-colour-”分隔的单元格中

因此,从上面的例子中,所需的输出将是:红色黄色粉红色绿色橙色紫色蓝色

这是可能的使用自定义聚合函数?

是的,这可以使用自定义聚合function。 也许你已经尝试过这样的事情了:

=tbl.Group(F7, , "A") 

你会发现你有#VALUE! 因为Schematiq试图将列A中的值相加,而不能因为它们不是数字。

当您向tbl.Group提供一个自定义函数时,它将在列的前两个值中使用该函数,然后使用该函数的结果和下一个值,依此类推。 所以要复制默认的行为,你可以使用类似于:

 (x, y) => x + y 

根据你的问题,你想要使用这样的函数来结合两个文本值:

 (x, y) => x & '-colour-' & y 

..这将看起来像这样一个叫tbl.Group

 =tbl.Group(F7, , "A", "(x, y) => x & '-colour-' & y") 

然后,您可以将其封装到tbl.GetValue ,将答案直接放入单元格中。

或者,你可以这样做,它从表列中获取所有值,并使用txt.Join来合并它们:

 =txt.Join(tbl.GetValues(F7), "-colour-") 

在这种情况下这可能更简单。

(顺便说一下,我是Schematiq团队的一员)