如何批量实现Excel多个单元格内容合并到一个单元格并且在单元格内换行
如图1,C列时间在多个单元格内,我们要把A列和B列内容同时相同的C列合并到一个单元格内,并且在一个单元格内实现换行,即实现左图到右图的转换。
图1
这样的数据如果量很少,可以先把C列内容复制到剪贴板,再双击目标单元格,选择性粘帖格式就可以实现,如图2。
图2
可是,如果是批量的数据这种办法就太麻烦了,本文介绍用公式和函数实现批量Excel多个单元格内容合并到一个单元格并且在单元格内换行。
1、在D1单元格输入公式=char(10),返回结果是换行符,如图3。
图3
Char函数功能返回对应于数字代码的字符,该函数可将其他类型的电脑文件中的代码转换为字符(操作环境为MacintoshMacintosh 字符集和WindowsANSI 字符集)。
函数语法:CHAR(number)。参数:Number 是用于转换的字符代码,介于1~255 之间(使用当前计算机字符集中的字符)。
实例:公式“=CHAR(56)”返回8,=CHAR(36)返回$。
2、在D2单元格输入公式=IF(B1<>B2,C2,CONCATENATE(D1,$D$1,C2)),公式解读:
如果B1<> B2,说明C2不需要合并,直接返回C2,
如果B1=B2,需要把C1和C2合并,且C1和C2之间要换行,CONCATENATE函数是将多个文本字符串内容合并。
双击D2单元格将整列数据公式自动全部填充。D列结果如图4:
图4
3、这个结果第2-6行是多余的,我们只需保留第7行内容。在E列添加辅助列,E2公式为:=IF(B2=B3,IF(LEN(D3)>LEN(D2),1,0),0),
公式解读:
如果B2<>B3,则说明C2和C3不需要合并或者合并结束了,返回0,
如果B2=B3,则C2和C3需要合并,合并到什么时候结束呢?我们看D2和D3的字符串长度,如果D3长度大于D2说明没有合并完,用1表示,如果D3长度小于等于D2说明合并结束,用0表示,即公式IF(LEN(D3)>LEN(D2),1,0)
双击E2单元格将整列数据公式自动全部填充。得到结果如图5:
图5
4、最后根据E列结果筛选出结果为0的即是我们想要的结果,如图6。
图6
今天的分享到此结束,如果想看更多历史文章,请从菜单所有文章查看。