如何制作工资条,是 Excel 教程中绕不开的一个经典案例,我也写过很多种解决方案,详情请参阅:
- Excel 制作工资条这种经典案例,万千解法就看你心思有多巧
- Excel – 工资条制作,最简便的一种方法
- Excel VBA(5) – 一键制作工资条
- Excel – 工资条制作又一新方法,用 vlookup 函数居然也能实现
- Excel–用index match隔行插入空行
- Excel 实用 tips(三)– 如何隔行插入空行?
今天教大家制作奖金条,是工资条的升级版:工资条中每个员工的记录只有一条,而在奖金条中,员工根据绩效可能有多条记录,每个人的记录数各不相同。
案例:下图 1 是公司各位销售员工的奖金记录明细,请制作奖金条,在每个员工的记录上方都添加一个表头。
效果如下图 2 所示。
解决方案:
1. 将 D 列作为辅助列,在 D2 单元格中输入以下公式 --> 下拉复制公式:
=COUNTA(unique($A$2:A2))
公式释义:
- UNIQUE($A$2:A2):
- 查找出 $A$2:A2 区域内的唯一值;
- 起始单元格须绝对引用,结束单元格要相对引用,这样随着公式下拉,就能顺序查找出自第一行到当前行区域内的唯一值;
- COUNTA(...):计算上述唯一值列表的个数
有关 unique 函数的详解,请参阅 Excel – 提取不重复值,终于有专门的函数了。
如果你还没有升级 O365,是用不了 unique 函数的,但是也没关系,可以改用下面的公式:
=MAX($E$1:E1) (A2<>A1)
公式释义:
- MAX($E$1:E1):计算自 E1 起,至上方单元格区域内的最大值;
- (A2<>A1):如果当前行的姓名单元格 A2 与上方的值不一致,则为 true,相当于 1;
- 整段公式的含义是:如果本行与上一行的姓名相同,则 E 列的值不变,否则 1
上述公式也可以简化为:
=E1 (A2<>A1)
2. 自 D17 起,从 1 开始顺序向下编号,数据表区域除去标题有多少行,序列编号就到几。
3. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“排序”
4. 在弹出的对话中勾选“数据包含标题”--> 在“主要关键字”下拉菜单中选择 (Column D) --> 点击“确定”
5. 复制标题行
6. 选中 A2:C21 区域 --> 按 F5 或 Ctrl G
7. 在弹出的对话框中点击“定位条件”按钮
8. 在弹出的对话框中选择“空值”--> 点击“确定”
如此,就选中了数据表区域的所有空行。
9. 按 Ctrl V 将标题行粘贴到所有空行中
给新增的区域加上边框,奖励明细表就完成了。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,文中专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
,