【问题标题】:How can I concatenate text from multiple rows in a Schematiq table into a single value如何将 Schematiq 表中多行的文本连接成单个值
【发布时间】:2016-06-03 12:00:51
【问题描述】:

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

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

所以从上面的例子中,期望的输出是:red-color-yellow-colour-pink-color-green-colour-orange-color-purple-color-blue

这可以使用自定义聚合函数吗?

【问题讨论】:

    标签: excel excel-formula schematiq


    【解决方案1】:

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

    =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 团队的一员)

    【讨论】:

      猜你喜欢
      • 2010-09-16
      • 1970-01-01
      • 2018-12-21
      • 2019-11-07
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多