将 Excel 列表中每个部门的经理移到本部门第一行
- 2026-09-16 15:03:41
将 Excel 列表中每个部门的经理移到本部门第一行








公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必“设为星标”哦!!!
点击任意文章上方的“☆星标”即可。

继之前教了大家如何用公式给不同的分类设置跨分类递增的序号后,又衍生出来一个新问题:如何将每个分类中特定标识的行移到分类第一行?
案例:
将下图 1 的数据表重新排序,要求将每个部门的“经理”放到部门的第一行,其他人的顺序不变。
效果如下图 2 所示。


解决方案:
1. 在 J2 单元格中输入以下公式 --> 下拉复制公式:
=MATCH(A2,UNIQUE($A$2:A2),0)



公式释义:
UNIQUE($A$2:A2):提取出首行固定、末行变动的区域 $A$2:A2 中的所有唯一值;
MATCH(A2,...,0):在上述区域中查找 A2 单元格的值,返回匹配结果在整个数组中的排序数字;随着单元格下拉,要查询的值永远都在区域中的最后一个,因此排序会随着唯一值的变多而增大。
2. 在目标单元格中输入以下公式 --> 回车:
=SORTBY(A2:I15,J2:J15-(C2:C15="经理"))


公式释义:
C2:C15="经理":判断 C2:C15 区域中每个单元格的值是否为“经理”,结果为 true 或 false;
J2:J15-...:将 J2:J15 区域中的每个单元格减去上述结果,这样就会得出所有“经理”所在行的值比同部门其他人员小 1;
SORTBY(A2:I15,...):将 A2:I15 区域按照上述结果排序,就会变成这样:按部门先排序,因为不同部门的编号会递增;然后部门内部的“经理”排在最上方,因为“经理”的编号比同部门其他人小 1。
3. 用格式刷调整格式。

转发、点赞、在看也是爱!
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。