在Microsoft Excel中,我有一个Schematiq表,其中包含多行值:
我想将所有行值连接成一个值,并将其存储在由文本" -colour - "
分隔的单元格中。因此,从上面的示例中,所需的输出将是:红色 - 黄色 - 粉红色 - 绿色 - 橙色 - 颜色 - 紫色 - 蓝色
这是否可以使用自定义聚合函数?
答案 0 :(得分:0)
是的,这可以使用自定义聚合功能。也许你已经尝试过这样的事情:
=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团队的一员)