示例数据:以按第一列升序排序,俩列值已分组去重 需求: 将左列相同的值对应的右列内容合并,如 127 b 则所需数据为 : 127 ab 127 a 实现公式为:
① IF(AND(A1=A2,A2=A3),B1&B2&B3,IF(A1=A2,B1&B2,B1))
② IF(AND(A1=A2,A2=A3),TEXTJOIN(",",TRUE,B1:B3),IF(A1=A2,TEXTJOIN(",",TRUE,B1:B2),B1))
③ TEXTJOIN("",TRUE,IF($A$1:$A$32=C2,$B$1:$B$32,""))
其中公式②是合并时使用逗号分隔 其中此公式③ 需要使用数组公式计算,结果方正确(即输入完公式后,需按下CTRL + shift + 回车 退出公式编辑)
公式①②解析如下
and: & : 拼接 if: 先标出重复项,便于做完之后,检查数据有没有问题: 选中第一列,然后选择 数据 ——> 重复项 ——> 设置高亮重复项 如下图: 使用公式填充数据 得到如下结果 ① ② 公式③解析图如下: 原表数据如下 先复制A列至C处,然后选定C列,点击 "数据” --> “重复项” --> “删除重复项” ,如下图删除重复项 (图中示例我未先复制列,清以文字为准) 选择编号,点击删除 则得到C列如下 输入公式: TEXTJOIN("",TRUE,IF($A$1:$A$32=C2,$B$1:$B$32,"")) 图中公式行数是31,是由于原来没有增加表头,请以实际情况为准,此处因是32行 按下 CTRL + shift + Enter 后得到如下: 使用多行填充得到如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701155217174.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4Nzc0NDky,size_16,color_FFFFFF,t_70)
这里再分享一个合并同类单元格的案例 原表数据如下: 首先在表格左侧插入一列空白列 然后选中表格,点击分类汇总,如下 得到如下图: 点击左侧② 得到如下 在表格A3处输入任意内容,然后使用智能填充 得到如下 点击左侧的③得到如下 全选表格,按下 ctrl + g 打开定位 选择定位到空值 如图,然后在开始处,点击合并单元格选项 然后全选表格,点击分类汇总,删除分类汇总 得到如下 选择第一列,点击格式刷,再点击第二列,则完成 完成,最终效果如图显示
|