我有一张这样的表:
根据这个集合,我需要"简要记录"对于每个唯一的SKU前缀,例如本例中为PW0007和PW0008)。这是一个例子:
sku = PW0007BG-3x6-M,颜色=米色,尺寸= 3x6,完成=磨砂,外观=木材,应用=墙壁或地板| sku = PW0007BK-3x6-M,颜色=黑色,尺寸= 3x6,完成=磨砂,外观=木材,应用=墙面或地板| sku = PW0007RD-4x8-P,颜色=红色,尺寸= 4x8,表面处理=抛光,外观=木材,应用=墙面或地板
还有一点是我在单独的工作表上将SKU字段分解成各个部分,这样我就可以轻松地执行UNIQUE()并获得前缀PW0007和PW0008,如果这是最好的方法。它获取每个唯一SKU前缀的变体并将它们分开,这是我无法想象的。也许某种SUMPRODUCT?
我想通过一个公式来实现梦想,但是我更倾向于认为我需要某种类型的脚本,这是一个完整的蜡球。对我来说。
答案 0 :(得分:2)
你不需要这个脚本;电子表格公式的组合就足够了。为简单起见,我假设您的数据位于A-F列,输出将位于同一张表的G-H中。
首先,生成一个唯一前缀列表。假设它们是SKU的前6个字符,则公式(放在G2中)将是
=sort(unique(filter(left(A2:A, 6), len(A2:A))))
(sort是可选的,但在此上下文中有意义)。过滤器会删除空行。
然后在下一栏中,在单元格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列。