秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格

秋叶Excel在小E的认真打理下 , 越来越火爆 。 为了回馈粉丝 , 小E做了一场「直播惊喜活动」 , 产品限额 , 惊喜满满 。
活动规则 , 每个订单id , 每个产品只能下一单 。
但是小E在发货的时候 , 发现有不少粉丝下单了多个不同的产品 。
这时他就在想 , 如果都分开发货 , 单纯计件的话 , 物流成本有点高 , 本着省钱原则 , 他就在想要不就试试合并发货 。
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
所以 , 小E需要将同个姓名 , 同个手机号 , 同个地址的客户所购买的不同产品合并起来形成一条订单数据 , 进行合并发货 , 以节约成本 。
处理后如下图 , 我们可以看到 , 小爽用了不同账号多次下单了Excel这本书:
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
PS:由于地址比较长 , 所以案例中我们只对同个姓名 , 同个手机号进行合并处理 。
那么问题来了 , 这个处理应该怎么做?不怕 , 这是小E的强项啊 。
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
函数方法
适用版本:Office2021 , Office365 , WPS2022
由于存在不同账号同一个购买者的情况下 , 所以我们需要先利用Countif函数统计不同产品的汇总个数 。 =COUNTIFS($B$2:$B$18,I2,$D$2:$D$18,G2,$E$2:$E$18,H2)
后面的问题 , 就转变成基于姓名和手机号列合并汇总产品名称的问题 。
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
接下来 , 我们进行合并发货数量的操作(合并同类项) 。
UNIQUE函数 , 去除姓名列和手机列的重复项 。
这一步 , 主要是去除原始姓名列和手机列的重复值 , 方便后面的筛选和合并 。
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
FILTER函数 , 根据姓名列和手机列筛选产品名称与汇总个数 。
这一步主要通过姓名和手机列筛选产品名称*个数=FILTER($I$2:$I$15&"*"&$J$2:$J$15,($G$2:$G$15=L2)*($H$2:$H$15=M2))
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
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)))
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
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,))
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格
文章图片
如果你不想使用辅助表 , 也可以利用一个公式搞定!不过该方法仅局限于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))))))
秋叶Excel在小E的认真打理下|2招解决让vlookup无能为力的excel合并表格