如何将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团队的一员)