软件下载 点击激活 软件下载

二分钟,把数据合并到一个单元格

工作中总会有一些特殊的特殊需求,最让人头疼的莫过于将符合条件的多个结果全部放到一个单元格内。

举个例子,看下图。

二分钟,把数据合并到一个单元格
A列是某公司部门名称,B列是人员姓名。
要求将相同部门的人员姓名填入F列对应单元格,不同人名之间以逗号间隔。
说说这道题的解法:
首先在C2输入公式
=IF(A2=A1,C1&”,”&B2,B2)
向下复制填充。
二分钟,把数据合并到一个单元格
F2输入公式:
=LOOKUP(1,0/(E2=$A$2:$A$9),C$2:C$9)
向下复制填充,得到最终结果。
二分钟,把数据合并到一个单元格
这个解法使用了辅助列的方式。
C列为辅助列,是一个简单的IF函数。
以C2的公式为例:
=IF(A2=A1,C1&”,”&B2,B2)
先判断A2和A1的值是否相等,如果相等,则返回C1&”,”&B2,如果不等,则返回B2。
此处A2和A1的值不相等,因而公式返回B2的值”祝洪忠”。
在公式向下复制填充的过程中,该公式得出的结果,将被公式所在单元格下方的下一个公式所使用,于是形成人名累加的效果。
比如C3单元格公式:
=IF(A3=A2,C2&”,”&B3,B3)
A3和A2的值相等,返回真值C2&”,”&B3。
C2为上个公式所返回的结果B2(祝洪忠),B3的值是”星光”,所以C3最后结果为”祝洪忠,星光”。
辅助列公式输入完成后,在F列使用了一个常用的LOOKUP函数套路,得到最终结果:
=LOOKUP(1,0/(E2=$A$2:$A$9),C$2:C$9)
LOOKUP的这个套路,忽略错误值,总是取得最后一个符合条件的结果,我们可以总结为:
=LOOKUP(1,0/(条件区域=指定条件),要返回的目标区域)
该公式以0/(E2=$A$2:$A$9)构建了一个由0和错误值#DIV/0!组成的内存数组,再用永远大于0的1作为查找值,于是查找出最后一个满足部门等于E2的C列结果,即A列最后一个广告部所对应的C列值:C2。
如果你使用的是Excel2019及以上版本,那就可以使用TEXTJOIN函数了,这个函数在最新版的WPS表格中也有。在F2单元格输入以下公式,按住SHift+Ctrl不放,按回车,OK了。
=TEXTJOIN(“,”,1,IF(A$2:A$9=E2,B$2:B$9,””))
二分钟,把数据合并到一个单元格
TEXTJOIN函数的用法为:
=TEXTJOIN(间隔符号,是否忽略空单元格,要合并的内容)
公式中要合并的内容为: 
IF(A$2:A$9=E2,B$2:B$9,””)
也就是如果A$2:A$9等于E2,就返回B$2:B$9对应的内容,否则返回空文本””,结果是一个内存数组:
{“祝洪忠”;”星光”;””;””;””;””;””;””}
TEXTJOIN函数对IF函数得到的内存数组进行合并,第一参数指定使用间隔符号为逗号,第二参数使用1,表示忽略内存数组中的空文本。
今天的练习文件在此,你也试试吧:
点击右上方“前往下载”获取
快速提取文件夹内的文件名

微信扫一扫加关注,Office自学网官方微信公众号,

专注分享软件安装和视频教程,让你一号在手,办公无忧!

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

查看演示

  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余

给TA打赏
共{{data.count}}人
人已打赏
办公技巧

XLOOKUP,数据查询够简单

2022-8-5 0:03:08

办公技巧

这些Excel函数,不务正业被点名

2022-8-5 0:18:48

文章版权声明 1、本网站名称:office自学网
2、本站永久网址:https://www.officezxw.com/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:1241926466进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索