查看原文
其他

电商:超简单!相同编号的名称,合并到一个单元格里

拉登Dony 拉小登 2022-06-10

今日目标:

学会合并同类别数据到同一单元格

前两天一个电商的同学提问。

怎么根据商品的「号码」,把相同号码的「名字」,都合并到一个单元格里去?

就是从左边变成右边的样子。

1- 问题描述

秋叶的学习群里,大家学习积极性特别强,同学互帮互助,没一会,就有人给出解决方法了。

=VLOOKUP(F3&"-"&1,$B$2:$D$58,3,0)&IFERROR(VLOOKUP(F3&"-"&2,$B$2:$D$58,3,0),"")&IFERROR(VLOOKUP(F3&"-"&3,$B$2:$D$58,3,0),"")

作为学习群里的老师,我每天的工作就是,爬楼,挨个感谢、夸奖答疑的同学。

等等!

不对啊!这么长的函数谁能看的懂啊?

作为老师,我肯定、一定、必须要有更简单的方法,看下面。

相同的结果,我的公式更加简单。

=TEXTJOIN(",",1,FILTER($C$2:$C$58,$B$2:$B$58=E3))

温馨提示,这里的公式,只有Office365才能用。

我们看一下具体的解题思路。

2- 解决方法

这个问题,只要梳理清楚了解题的思路,其实并不难,主要分为3个部分。

1- 去除重复的号码

2- 根据号码筛选名字

3- 把统一号码的名字合并起来

UNIQUE函数,去除重复的号码

这一步,就是去除原始「号码」中的重复值,方便后面筛选和合并。

传统公式非常复杂,使用Office365新增的UNIQUE函数,分分钟搞定。

对应的公式如下:

=UNIQUE(B2:B58)

FILTER函数,根据号码筛选名字

这一步是根据「号码」筛选对应的商品名字。

这个复杂的需求,借助Office365中的Filter函数,实现起来也非常的简单。

对应的公式如下:

=FILTER($C$2:$C$58,$B$2:$B$58=E3)

TEXTJOIN函数,合并名字

FILTER筛选出来的「名字」,依然是分散在不同的单元格。

要把他们合并起来,放在同一个单元格里。

这个不难,在FILTER外面在套上一个TEXTJOIN函数就可以了。

公式如下:

=TEXTJOIN(",",1,FILTER($C$2:$C$58,$B$2:$B$58=E5))

TEXTJOIN函数的作用,就是用分隔符,把多个单元格的数值,合并在一个单元格中。它有几个参数:

- 参数1。要使用的分隔符是什么,比如这里的逗号。

- 参数2。是否忽略空白单元格,1代表忽略。

- 参数3。要合并的单元格或区域1

- 参数4。要合并的单元格或区域2

- 。。。

用TEXTJOIN合并起来之后,就得到了最后的结果。

总结

写公式呢,其实就是把我们的需求,翻译成Excel能看懂的函数公式,然后按照公式去执行。

所以,写公式之前,梳理清楚思路是非常重要的。

本节课,涉及到的几个函数,解决了之前实现不了的去重、筛选需求。点击下面的图表,了解更多的内容。

UNIQUE函数,参考这篇文章

FILTER函数,参考这篇文章

另外,使=用Power Query也可以一键合并同类文本,参考这篇文章

我是拉小登,一个会设计表格的Excel老师



= = 推荐文章 = =

小课堂:真香警告!去除重复值一个函数搞定!

小课堂:错过XLOOKUP,千万别错过这个万能查询函数

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存