发布者认证信息(营业执照和身份证)未完善,请登录后完善信息登录
 总算懂了2 招解决让 VLOOKUP 无能为力的 Excel 合并表格 - 最新消息 - 客集网
Hi,你好,欢迎来到客集网
  • 产品
  • 求购
  • 公司
  • 展会
  • 招商
  • 资讯
  • 解梦
当前位置: 首页 » 资讯 » 电子商务 找商家、找信息优选VIP,安全更可靠!
总算懂了2 招解决让 VLOOKUP 无能为力的 Excel 合并表格 - 最新消息
发布日期:2023-08-12 13:53:26  浏览次数:7

原文标题:《太牛 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),作者:小爽,编辑:竺兰

VIP企业最新发布
最新VIP企业
背景开启

客集网是一个开放的平台,信息全部为用户自行注册发布!并不代表本网赞同其观点或证实其内容的真实性,需用户自行承担信息的真实性,图片及其他资源的版权责任! 本站不承担此类作品侵权行为的直接责任及连带责任。

如若本网有任何内容侵犯您的权益,请联系 QQ: 1130861724

网站首页 | 信息删除 | 付款方式 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 (c)2014-2024 Rights Reserved 鄂公网安备42018502007153 SITEMAPS 联系我们 | 鄂ICP备14015623号-21

返回顶部