Excel/WPS 按条件合并多行

本文介绍了如何在Excel或WPS中通过建立辅助列和使用公式,实现按条件合并多行原始数据。具体步骤包括标识组长行、统计组内数据、计算员工数量、去重和拼接数据。方法适用于统计每个组长管辖的工作区域和管理的员工,并展示在组长所在行。解决方案详细且实用,适合需要处理类似数据的场景。
摘要由CSDN通过智能技术生成

原始数据规则

  1. 多个组有组号区分: 1、2、3、4
  2. 每个组有自己负责的工作区域。(特殊情况:组长光杆司令比如 3组)
  3. 有的员工需要负责多个工作区域(员工在组内名单中会多次出现)

在这里插入图片描述

需求

  1. 统计出每个组长管辖的工作区域。合并显示在组长所在的行。
  2. 统计出每个组长管理的员工。合并显示在组长所在的行。
  3. 组长与副组长一样处理。

解决步骤

建辅助列

  1. 标识出组长行。在B列对应行搜"组长",搜到就标为"是"
=IF(IFERROR(SEARCH($E$1,$B2),0)>0,"是","")
  1. 算出本组有多少条数据。如果是组长行。那么在A列(组号)中统计等于本行组号的有几个
=IF($E2="是",COUNTIF(A:A,$A2),0)
  1. 算出本组有几个组长。(不分正副)条件统计:"A2*组长"
=IF($E2="是",COUNTIF(B:B,A2&"*组长"),0)
  1. 算出本组员工人数。
=F2-G2
  1. 所属区域去重 首先排除组长行不用处理。然后判断当前数据与上一行相同的不显示
=IF($E2<>"是",IF(B2=B1,"",B2),"")
  1. 员工去重 首先排除组长行不用处理。MATCH获得C2数据在C列中第一次出现的行号,如果正好是C2的行号就留下
=IF($E2<>"是",IF(MATCH(C2,C:C,0)=ROW(C2),C2,""),"")

拼接多行数据

  1. 合并所辖工作区数据
    OFFSET(坐标原点, 偏移行数, 偏移列数, 取几行, 取几列) 得到组内员工数据的区域
    TEXTJOIN 对 OFFSET 返回的区域内容进行拼接,得到结果
=IF($H2>0,TEXTJOIN(",",TRUE,OFFSET(I2,$G2,0,$H2,1)),"")

在这里插入图片描述
2. 合并所管理员工数据 同上

=IF($H2>0,TEXTJOIN(",",TRUE,OFFSET(J2,$G2,0,$H2,1)),"")

在这里插入图片描述

参考资料

按条件合并多行.xlsx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值