Google sheets 根据唯一文本匹配将多行文本合并到一个单元格中?

Google sheets 根据唯一文本匹配将多行文本合并到一个单元格中?,google-sheets,Google Sheets,我有一张这样的桌子: 基于此集合,我需要每个唯一SKU前缀的“摘要记录”,例如本例中的PW0007和PW0008)。下面是一个例子: 为了防止阅读困难,这里有一个上述变化输出(G1)的示例: sku=PW0007BG-3x6-M,颜色=米色,尺寸=3x6,饰面=哑光,外观=木材,应用=墙壁或地板| sku=PW0007BK-3x6-M,颜色=黑色,尺寸=3x6,饰面=哑光,外观=木材,应用=墙壁或地板| sku=PW0007RD-4x8-p,颜色=红色,尺寸=4x8,饰面=抛光,外观=木材,

我有一张这样的桌子:

基于此集合,我需要每个唯一SKU前缀的“摘要记录”,例如本例中的PW0007和PW0008)。下面是一个例子:

为了防止阅读困难,这里有一个上述变化输出(G1)的示例:

sku=PW0007BG-3x6-M,颜色=米色,尺寸=3x6,饰面=哑光,外观=木材,应用=墙壁或地板| sku=PW0007BK-3x6-M,颜色=黑色,尺寸=3x6,饰面=哑光,外观=木材,应用=墙壁或地板| sku=PW0007RD-4x8-p,颜色=红色,尺寸=4x8,饰面=抛光,外观=木材,应用=墙壁或地板

还有一点是,我将SKU字段分解为单独的工作表上的各个部分,这样我就可以轻松地执行一个唯一的()并获得前缀PW0007和PW0008,如果这是最好的方法的话。它得到了每个唯一SKU前缀的变化,并将它们分开,这是我无法想象的。也许是某种产品


我想通过一个公式来梦想这是可能的,但我更倾向于认为我需要某种脚本,它对我来说是另一个蜡球。

你不需要脚本;电子表格公式的组合就足够了。为了同样的简单性,我假设您的数据在A-F列中,并且输出将在同一张表的G-H中

首先,生成唯一前缀的列表。假设它们是SKU的前6个字符,则公式(置于G2中)为

=sort(unique(filter(left(A2:A, 6), len(A2:A))))
(排序是可选的,但在此上下文中进行排序是有意义的)。过滤器从考虑中删除空行

然后在下一列中,在单元格H2中使用这个长公式,这里用换行符表示

=join("|", arrayformula("sku=" & filter(A2:A, left(A2:A, 6) = G2)  
    & ",color=" & filter(B2:B, left(A2:A, 6) = G2)
    & ",size=" & filter(C2:C, left(A2:A, 6) = G2)
    & ",finish=" & filter(D2:D, left(A2:A, 6) = G2)
    & ",look=" & filter(E2:E, left(A2:A,6) = G2)
    & ",application=" & filter(E2:E, left(A2:A,6) = G2)
))
不管长度如何,它都非常简单:按SKU前缀过滤每一列,在其描述之前加上前缀,然后连接结果。最后一步是加入所有这些结果


H2中的公式需要向下拖动到H列中

非常感谢您提供了一个清晰简洁的答案,该答案有助于解释解决方案中涉及的概念,并提供了可供尝试的解决方案。一旦测试和确认,我会尝试并接受答案。我做了一些调整,因为我的“G2”实际上在另一张纸上。它工作得很顺利,谢谢。如果我有其他与此相关的问题,我应该继续在这里提问,还是通过另一个问题提问?如果两组数据在不同的表格上,这是否有效?例如,基于共享SKU前缀,颜色、尺寸、光洁度等值可以在另一张表上过滤?是的,
过滤器
公式中的两个范围可以在不同的表上。重要的是拥有相同的行数。谢谢!这回答了我的问题;然而,我现在意识到我没有以正确的方式提问,这很糟糕,是我自己的错。如果我想用正确的方式再问一遍,你介意看一看吗,因为我认为你可以很容易地适应这一点,而我在过去的两个小时里一直在尝试。