领取MOLI红包
- 发布日期:2025-01-03 17:48 点击次数:78
原文标题:《太牛 X 了!让 VLOOKUP 都无能为力的合并表格,这 2 招却能轻松解决!》秋叶 Excel 在小 E 的认真打理下,越来越火爆。为了回馈粉丝,小 E 做了一场「直播惊喜活动」,产品限额,惊喜满满。活动规则,每个订单 id,每个产品只能下一单。但是小 E 在发货的时候,发现有不少粉丝下单了多个不同的产品。这时他就在想,如果都分开发货,单纯计件的话,物流成本有点高,本着省钱原则,他就在想要不就试试合并发货。所以,小 E 需要将同个姓名,同个手机号,同个地址的客户所购买的不同产品合并起来形成一条订单数据,进行合并发货,以节约成本。处理后如下图,我们可以看到,小爽用了不同账号多次下单了 Excel 这本书:PS:由于地址比较长,所以案例中我们只对同个姓名,同个手机号进行合并处理。那么问题来了,这个处理应该怎么做?不怕,这是小 E 的强项啊。函数方法适用版本:Office2021,Office365,WPS2022由于存在不同账号同一个购买者的情况下,所以我们需要先利用 Countif 函数统计不同产品的汇总个数。=COUNTIFS($B$2:$B$18,I2,$D$2:$D$18,G2,$E$2:$E$18,H2)后面的问题,就转变成基于姓名和手机号列合并汇总产品名称的问题。接下来,我们进行合并发货数量的操作(合并同类项)。UNIQUE 函数,去除姓名列和手机列的重复项。这一步,主要是去除原始姓名列和手机列的重复值,方便后面的筛选和合并。FILTER 函数,根据姓名列和手机列筛选产品名称与汇总个数。这一步主要通过姓名和手机列筛选产品名称 * 个数=FILTER($I$2:$I$15&"*"&$J$2:$J$15,($G$2:$G$15=L2)*($H$2:$H$15=M2))Filter 函数基本语法Filter 函数是一个筛选函数,它可以将数组中条件为 True 的结果筛选出来。=FILTER(要筛选的数组或区域,筛选条件,[是否忽略空值])TEXTJOIN 函数,根据指定分隔符合并数据。这一步,主要将多个数据合并为一个。=TEXTJOIN(";",1,FILTER($I$2:$I$15&"*"&$J$2:$J$15,($G$2:$G$15=L2)*($H$2:$H$15=M2)))Textjoin 函数的基本语法=Textjoin (分隔符,是否忽略空值,数组 / 单元格区域)如果要忽略空值就填 TRUE,不忽略空值就填 FALSE。小提示:如果你是 Office2016 以上版本,且没有 Filter 函数,也可以使用 if 函数替代,只不过运算效率会差一点。而由于公式是数组公式,所以公式输入完成后,还需要使按数组三键【Ctrl+Shift+Enter】结束。=TEXTJOIN(" ; ",1,IF(($G$2:$G$15=L2)*($H$2:$H$15=M2),$I$2:$I$15&"*"&$J$2:$J$15,))如果你不想使用辅助表,也可以利用一个公式搞定!不过该方法仅局限于 Office365。=TEXTJOIN(" ; ",1, LET(a,FILTER($B$2:$B$18,($D$2:$D$18=G2)*($E$2:$E$18=H2)), MAP( UNIQUE(a), LAMBDA(t,t&"*"&COUNTA(FILTER(a,a=t))) ) ))主要原理是:❶ 筛选指定 姓名和手机号 对应的产品名称 (filter),名称定义为 a,方便后面进一步筛选计数 (let)。❷循环 (map) 去重后的产品名称 (unique),将每一个产品名称进一步筛选并计数 (filter,counta),用 "*" 拼接。❸ 最后用 textjoin 分隔符合并。函数方法灵活,不过受限于版本 。那么有没有更简单的方法 ?答案是有的,就是利用插件。方方格子方方格子,几乎所有版本都可以使用 。利用它,不用辅助表,也不用函数,只需点点鼠标,就可以搞定上述需求!我们一起来看看吧。具体步骤:选择【方方格子】-【查找定位】-【一对多查找】。出现一对多查找对话框。条件:查找表中的姓名和手机号列条件区域:数据表中的姓名和手机号列数据区域:数据表中的产品名称列结果存放:查询表中发货数量的第一个单元格匹配多个结果:不扩展 ,用,连接 (重复累计)单击【确定】按钮 ,结果一下子就出现啦~在选项中,我们可以对查找到的多个数据,选择处理的模式。向右扩展:就是查找到的多个数据往多个列扩展。不扩展:可以选择连接方式以及聚合的方式(个数,总和,最大值,最小值,第一二三以及最后一个匹配)。这里我们选择用,连接(重复累计)。动图操作效果如下:So easy~最后的话Excel 在我们的生活里扮演着很重要的角色。数据来源于业务生活,通过 Excel 这个工具发挥着更多不一样的作用。小 E 通过观察,对订单数据进行合并处理,为老板节约了一部分物流成本。本文主要介绍两种方法:❶ 新函数Unique 函数将数据进行去重,Filter 函数进行筛选符合条件的数据,Textjoin 函数进行合并。由于还需要对多个数据进行汇总合并,所以我们还用了个辅助表作为一个过渡。❷ 方方格子利用插件,不用复杂的函数,只需点点鼠标就可以搞定。方便是方便,但是由于它的封装性,肯定就远不如函数灵活啦。由于篇幅有限,方法不局限于文章本文来自微信公众号:秋叶 Excel (ID:excel100),作者:小爽,编辑:竺兰广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。