員工排班表
通過之前的學習,目前的我們已經具備了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/PM | 12小時制時段 | "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-7 | 1=周日,2=周一,...7=周六 | 美國標準 |
2 | 1-7 | 1=周一,2=周二,...7=周日 | 國際標準(ISO 8601) |
3 | 0-6 | 0=周一,1=周二,...6=周日 | 歐洲部分地區 |
11 | 1-7 | 1=周一,2=周二,...7=周日 | Excel 2010+國際標準 |
12 | 1-7 | 1=周二,2=周三,...7=周一 | 特殊財務系統 |
13 | 1-7 | 1=周三,2=周四,...7=周二 | 特殊需求 |
14 | 1-7 | 1=周四,2=周五,...7=周三 | 中東地區(周四為周末首日) |
15 | 1-7 | 1=周五,2=周六,...7=周四 | 穆斯林國家 |
16 | 1-7 | 1=周六,2=周日,...7=周五 | 以色列等 |
17 | 1-7 | 1=周日,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函數來進行拼接,這樣的好處是表格日期只用修改一處,便于調整。
?例如,我們只需要更改表格上方的月份,整個表格就會隨之發生變動。