Excel学习05

员工排班表

通过之前的学习,目前的我们已经具备了Excel的初步制作能力。接下来将从实际出发制作一个员工排班表。在制作排版表之前,先来看我们要用到的函数。

DATE函数

date函数是Excel中处理日期的核心函数之一,它能够将单独的年、月、日数值组合成有效的日期序列值,是日期计算和日期构造的基础工具。

语法

=DATE(year, month, day)
参数说明
year年份(1900-9999),支持2位数简写(00-29解释为2000-2029,30-99解释为1930-1999)
month月份(支持超出1-12范围的值,会自动跨年计算)
day天数(支持超出当月天数的值,会自动跨月计算)

TEXT函数

 TEXT函数是Excel中强大的文本格式化工具,它能够将数值、日期等数据转换为特定格式的文本,实现数据显示与存储的灵活控制。

语法

=TEXT(value, format_text)
参数说明
value要转换的值(数字、日期、时间或可转换为数值的文本)
format_text格式代码(用双引号括起,定义输出文本的显示格式)

 而关于格式代码常用的主要有以下分类:

一、数字格式代码

代码说明示例(值:1234.5)输出结果
0强制显示数字位"00000"01235
#可选数字位"#####"1235
.小数点位置"0.000"1234.500
,千位分隔符"#,###"1,235
%百分比显示"0%"123450%

二、日期格式代码

1. 年/月/日代码

代码说明示例(2023-08-20)输出结果
yyyy四位年份"yyyy"2023
yy两位年份"yy"23
mmmm月份全名"mmmm"August
mmm月份缩写"mmm"Aug
mm两位月份"mm"08
m无前导零月份"m"8
dddd星期全名"dddd"Sunday
ddd星期缩写"ddd"Sun
dd两位日期"dd"20
d无前导零日期"d"20

2.中文日期格式

代码输出示例
"yyyy年mm月dd日"2023年08月20日
"aaa"
"aaaa"星期日
"dbnum1"二〇二三
"dbnum2"贰零贰叁

三、时间格式代码

代码说明示例(14:30:45)输出结果
hh两位小时(24h)"hh"14
h无前导零小时"h"14
mm两位分钟"mm"30
m无前导零分钟"m"30
ss两位秒数"ss"45
s无前导零秒数"s"45
AM/PM12小时制时段"h:mm AM/PM"2:30 PM

 ROW函数

ROW函数是Excel中用户获取行号信息的核心函数之一。它在动态引用、数组公式和复杂计算中发挥着重要作用。

语法

=ROW([reference])
参数是否必需说明
[reference]要获取行号的单元格或区域引用,若省略则返回公式所在单元格的行号

 ISSOD函数

ISSOD函数是Excel中的一个信息函数,用于判断数值是否为奇数。

语法:

=ISODD(number)
参数是否必需说明
number要检测的数值(可以是直接数值、单元格引用或计算结果)

WEEKDAY函数

WEEKDAY函数是Excel中处理日期分析的重要工具,它能够返回某个日期对应的星期几信息,在日程安排、周报统计等场景中非常实用。

语法

=WEEKDAY(serial_number, [return_type])
参数是否必需说明
serial_number要分析的日期(可以是日期序列值、日期文本或DATE函数结果)
[return_type]确定返回值类型的数字(默认为1,详细类型见下文)

return_type参数详解

return_type返回值范围对应关系适用地区
1 或省略1-71=周日,2=周一,...7=周六美国标准
21-71=周一,2=周二,...7=周日国际标准(ISO 8601)
30-60=周一,1=周二,...6=周日欧洲部分地区
111-71=周一,2=周二,...7=周日Excel 2010+国际标准
121-71=周二,2=周三,...7=周一特殊财务系统
131-71=周三,2=周四,...7=周二特殊需求
141-71=周四,2=周五,...7=周三中东地区(周四为周末首日)
151-71=周五,2=周六,...7=周四穆斯林国家
161-71=周六,2=周日,...7=周五以色列等
171-71=周日,2=周一,...7=周六埃及等

EMONTH函数

EMONTH函数用于返回指定日期之前或之后某个月份的最后一天的日期,名称中的“EO”代表“End Of”(月末)。这个函数在财务计算、租赁合同、工资结算等场景中特别有用。

语法

EOMONTH(start_date, months)
参数说明
start_date基准日期,Excel可识别的任何日期格式
months正数:返回未来某月的最后一天
负数:返回过去某月的最后一天
0:返回当月的最后一天

最后制成图如下。

表格的下拉框可以在数据选项栏的下拉列表中实现。

特殊的表格颜色设置依靠的是条件格式,新建规则实现。

出勤日期的计算主要用到了NETWORKDAYS函数的使用。

=NETWORKDAYS($E$11,EOMONTH($E$11,0),节假日!$B$2:$B$4)-SUM(AJ12:AL12)

 这个表格最主要的一点是依靠首行的日期公式,其他的日期都依靠这个日期来进行计算。

 上面的星期显示可以通过TEXT函数实现。

 员工标题则可以通过CONCAT函数来进行拼接,这样的好处是表格日期只用修改一处,便于调整。

 例如,我们只需要更改表格上方的月份,整个表格就会随之发生变动。