HR ต้องนับวันลาให้พนักงาน 30 คนด้วยตนเอง เปิด Excel หลายไฟล์ บางทีตัวเลขไม่ตรงกัน ไม่รู้ว่าใครครบ 1 ปีแล้วบ้าง
ปัญหานี้แก้ได้ด้วย Google Sheets ที่ทำให้ระบบ HR คำนวณเองทุกอย่าง ตั้งแต่อายุงาน วันลาที่เหลือ จนถึงแจ้งเตือนครบรอบ
ใช้ Excel อยู่? ทำได้เหมือนกัน
สูตรใน Excel กับ Google Sheets เหมือนกันเกือบทั้งหมด ความแตกต่างหลักคือ Sheets ให้ทีม HR เข้าถึงข้อมูลพร้อมกัน Real-time โดยไม่ต้องส่งไฟล์กันไปมา
โครงสร้างข้อมูลที่ควรมีในทะเบียนพนักงาน
ก่อนเริ่มสร้างสูตร ต้องวางโครงสร้างตารางให้ถูกก่อน ถ้าวางผิดตั้งแต่ต้น สูตรทุกตัวจะทำงานผิดหรือแก้ยากมากในภายหลัง
| Column | ข้อมูล | หมายเหตุ |
|---|---|---|
| A | รหัสพนักงาน | EMP001, EMP002... |
| B | ชื่อ-นามสกุล | เต็ม ไม่ใช้ nickname |
| C | แผนก | ใช้ Dropdown list |
| D | วันที่เริ่มงาน | ต้องเป็น Date จริง ไม่ใช่ text |
| E | อายุงาน (สูตร) | คำนวณอัตโนมัติ |
| F | วันลาต่อปี | ตาม policy บริษัท |
| G | วันลาที่ใช้ไป | นับจาก sheet ลา |
| H | วันลาคงเหลือ | =F-G อัตโนมัติ |
| I | สถานะ | ทำงาน / ลาออก / ทดลองงาน |

โครงสร้างทะเบียนพนักงาน — ตัวอย่างใน Google Sheets
สูตรที่ต้องรู้ — ทีละสเต็ป
คำนวณอายุงาน — DATEDIF
สูตรนี้นับจำนวนปี เดือน วัน ระหว่างวันเริ่มงานกับวันนี้
D2 = วันที่เริ่มงาน | "Y" = นับปีเต็ม | "YM" = นับเดือนที่เหลือหลังหักปีแล้ว
นับวันลาจาก Sheet ลา — COUNTIF
แยก Sheet ชื่อ "ลา" เก็บบันทึกการลาทุกครั้ง แล้วให้ Sheet ทะเบียนนับอัตโนมัติ
Sheet ลา Column A = รหัสพนักงาน | A2 = รหัสพนักงานในทะเบียน — นับว่าคนนี้ลาไปกี่ครั้ง
แจ้งเตือนครบรอบด้วย Conditional Formatting
ไฮไลท์แถวพนักงานที่ครบรอบ 1 ปีในเดือนนี้ — ไม่ต้องจำเอง
Select ทั้ง row → Format → Conditional Formatting → Custom formula → ใส่สูตรนี้ → เลือกสีทอง
แจ้งเตือนวันลาใกล้หมด
ไฮไลท์แดงเมื่อวันลาเหลือน้อยกว่า 3 วัน
H2 = วันลาคงเหลือ — ถ้าน้อยกว่าหรือเท่ากับ 3 จะไฮไลท์แดง HR เห็นได้ทันที
ตรวจสอบว่าครบ 5 ปีแล้วหรือยัง
ใช้สำหรับคำนวณสิทธิวันหยุดพิเศษหรือโบนัสอายุงาน

Conditional Formatting — ไฮไลท์วันครบรอบและวันลาใกล้หมด
เทคนิคที่ใช้บ่อยใน HR Sheets
- Dropdown แผนก — Data → Data Validation → List ป้องกันการพิมพ์ผิดชื่อแผนก
- Freeze row แรก — View → Freeze → 1 row ให้ header ไม่เลื่อนเวลา scroll
- Filter แผนก — เพิ่ม Filter เพื่อดูข้อมูลเฉพาะแผนกได้ทันที
- Protect Sheet — Share → แยกสิทธิ์ HR แก้ได้ ผู้จัดการดูได้อย่างเดียว
- INDEX MATCH หาข้อมูล — =INDEX(HR!B:B, MATCH(A2, HR!A:A, 0)) ดึงชื่อจากรหัสพนักงาน

ระบบ HR พร้อม Dashboard สรุปภาพรวมพนักงาน
ข้อผิดพลาดที่ HR ทำบ่อยเวลาสร้าง Sheets
พิมพ์วันที่เป็น text เช่น "01/01/2567"
สูตร DATEDIF จะ error ทันที — ต้องใส่ให้ Sheets รู้ว่าเป็น Date จริง วิธีตรวจ: =ISNUMBER(D2) ถ้าได้ FALSE แสดงว่าเป็น text
เก็บข้อมูลทุกอย่างใน Sheet เดียว
ควรแยก Sheet: "ทะเบียน" (ข้อมูลพนักงาน) + "ลา" (บันทึกการลา) + "Dashboard" (สรุป) — ง่ายต่อการดูแลและไม่ซับซ้อน
ลืม Freeze Header Row
เวลาข้อมูลเยอะ scroll แล้วไม่รู้ว่า column ไหนคืออะไร — View → Freeze → 1 row แก้ได้ใน 5 วินาที
Share "Anyone with link can edit" สำหรับข้อมูล HR
ข้อมูล HR เป็น sensitive data — Share → Specific people เท่านั้น และกำหนดสิทธิ์แก้/ดูแยกกัน
ต้องการ Template ตารางพนักงานพร้อมใช้?
เรามี Template ตารางเวลาทำงานพนักงาน พร้อมสูตรคำนวณ OT และ Dropdown แผนก — Copy ไปใช้ได้ทันที ไม่ต้องสร้างเอง
ดู Employee Schedule Template →คำถามที่ถามบ่อย
DATEDIF ไม่ขึ้น suggestion ใน Google Sheets ทำไม?
DATEDIF เป็น function ที่ Google Sheets ซ่อนไม่แสดงใน autocomplete แต่ใช้งานได้ปกติ — พิมพ์ =DATEDIF( เองทั้งคำ จากนั้นจะทำงานได้
ทำระบบลาออนไลน์ต่อเนื่องจากทะเบียนได้ไหม?
ได้ — สร้าง Google Form ให้พนักงานยื่นลา ข้อมูลจะเข้า Sheet ลาอัตโนมัติ ใช้ Apps Script แจ้งเตือน HR ผ่าน Email หรือ LINE ได้อีกด้วย
เชื่อมกับระบบ Payroll ได้ไหม?
ถ้า Payroll ระบบ export CSV ได้ — Import เข้า Sheets แล้วใช้ VLOOKUP หรือ INDEX MATCH cross-reference กับทะเบียนพนักงานได้ ไม่ต้องพิมพ์ซ้ำ
พนักงาน 100 คนขึ้นไป Google Sheets รับได้ไหม?
รับได้ถึงหลักพันแถวโดยไม่มีปัญหา แต่ถ้าเกิน 500 คนและมีสูตรเยอะ แนะนำให้แยก Sheet ตามแผนก และใช้ IMPORTRANGE ดึงข้อมูลรวมที่ Dashboard
ข้อมูล HR sensitive ความปลอดภัยเป็นยังไง?
ใช้ Share → Specific people เท่านั้น ห้าม "Anyone with link" สำหรับข้อมูล HR ตั้ง 2-Step Verification ให้ทุก account ที่มีสิทธิ์ และ Audit log ว่าใครแก้อะไรได้ใน File → Version history
