嘿,这个Excel技巧不要错过,批量将多个单元格内容合并到一个
如何批量实现Excel多个单元格内容合并到一个单元格并且换行如图5-18-12所示,C列时间在多个单元格内,我们要把A列和B列内容同时相同的C列合并到一个单元格内,并且在一个单元格内实现换行,即实现图5-18-12到图5-18-13的转换。
图5-18-12
图5-18-13
这样的数据如果量很少,可以先把C列内容复制到剪贴板,再双击目标单元格,选择性粘贴格式就可以实现,如图5-18-14所示。
可是,如果是批量的数据这种办法就太麻烦了,这里介绍用公式和函数实现批量Excel多个单元格内容合并到一个单元格并且在单元格内换行。
在D1单元格输入公式=CHAR(10),返回结果是换行符,如图5-18-15所示。
图5-18-14
图5-18-15
在D2单元格输入公式=IF(B1<>B2,C2,CONCATENATE(D1,$D$1,C2)),公式解读:
如果B1<>B2,说明C2不需要合并,直接返回C2;如果B1=B2,需要把C1和C2合并,且C1和C2之间要换行,CONCATENATE函数是将多个文本字符串内容合并。双击D2单元格将整列数据公式自动全部填充。
D列结果如图5-18-16所示。
图5-18-16
这个结果第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-18-17所示。
图5-18-17
最后根据E列结果筛选出结果为0的即是我们想要的结果,如图5-18-18所示。
图5-18-18