🏗️ LMC Smart Systems — ระบบบริหารงานก่อสร้างครบวงจร
🏠 ระบบที่ 1 — Executive Dashboard
แดชบอร์ดผู้บริหาร | ภาพรวมทุกระบบในหน้าเดียว
วัตถุประสงค์
รวมข้อมูลจากทุกระบบมาแสดงผลแบบ Real-time เพื่อให้ผู้บริหารเห็นภาพรวมธุรกิจทั้งหมดในหน้าเดียว มี KPI การเงิน, การบริหารคน, ยานพาหนะ และสถานะแต่ละโครงการ
ชีต Google Sheets ที่เกี่ยวข้อง
| ชีต | ข้อมูลที่ดึง | ช่วง |
|---|---|---|
| LMC Daily Manpower | จำนวนพนักงาน, ขาดงาน | B:E ทุกแถว |
| LMC_รับจ่าย | รายรับ-รายจ่ายรวม | คอลัมน์ยอดเงิน |
| LMC_ระบบน้ำมัน_DEV | ปริมาณน้ำมันรวม | คอลัมน์ลิตร |
| LMC_บริหารคนขับรถ_MASTER | จำนวนรถ, สถานะ | คอลัมน์ Status |
สูตร KPI หลัก
=SUMIFS(รับจ่าย!C:C, รับจ่าย!A:A, "รับ", รับจ่าย!B:B, ">="&DATE(ปี,เดือน,1), รับจ่าย!B:B, "<="&EOMONTH(DATE(ปี,เดือน,1),0))
=SUMIFS(รับจ่าย!C:C, รับจ่าย!A:A, "จ่าย", รับจ่าย!B:B, ">="&DATE(ปี,เดือน,1))
=รายได้รวม - ค่าใช้จ่ายรวม
=COUNTIF(แรงงาน!E:E,"ขาด")/COUNTA(แรงงาน!A:A)*100
👷 ระบบที่ 2 — แรงงานรายวัน (Daily Manpower)
บันทึกการเข้างาน, ขาดงาน รายวันแยกตามไซต์งาน
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล | ตัวอย่าง |
|---|---|---|
| A | วันที่ | 21/06/2026 |
| B | ชื่อไซต์งาน | ลำพูน A |
| C | จำนวนพนักงานทั้งหมด | 25 |
| D | เข้างาน | 23 |
| E | ขาดงาน | 2 |
| F | OT (ชั่วโมง) | 8 |
| G | หัวหน้าไซต์ | นายสมชาย |
สูตรสำคัญ
=SUMIFS(D:D, B:B, "ลำพูน A", A:A, ">="&DATE(2026,6,1), A:A, "<="&EOMONTH(DATE(2026,6,1),0))
=E2/C2*100
=SUMPRODUCT((MONTH(A2:A200)=6)*(YEAR(A2:A200)=2026)*D2:D200)
=INDEX(B:B, MATCH(MAX(E:E), E:E, 0))
⏰ ระบบที่ 3 — OT (ค่าล่วงเวลา)
คำนวณ OT รายคน, รายไซต์ · สลิปค่าจ้างรายบุคคล
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล | หน่วย |
|---|---|---|
| A | ชื่อพนักงาน | — |
| B | ตำแหน่ง/ประเภท | — |
| C | ไซต์งาน | — |
| D | จำนวนวันทำงาน | วัน |
| E | อัตราค่าจ้าง/วัน | บาท |
| F | ชั่วโมง OT | ชั่วโมง |
| G | อัตรา OT/ชั่วโมง | บาท (ปกติ 250 ฿) |
สูตรสำคัญ
=D2*E2
=F2*G2
=(D2*E2)+(F2*G2)
=SUMIF(C:C, "ลำพูน A", F:F)
=SUMPRODUCT(F2:F100, G2:G100)
🚛 ระบบที่ 4 — บริหารคนขับรถและเครื่องจักร
ทะเบียนรถ, ประกัน, ซ่อมบำรุง, สถานะรายคัน
ประเภทยานพาหนะ
โครงสร้างข้อมูล MASTER
| คอลัมน์ | ข้อมูล |
|---|---|
| A | รหัสรถ (เช่น TRK-001) |
| B | ทะเบียนรถ |
| C | ประเภท (TRK/TRL/DRV/MIX) |
| D | ชื่อคนขับ |
| E | สถานะ (พร้อมใช้/ใช้งาน/จอดซ่อม) |
| F | วันประกันหมด |
| G | ไซต์ที่ประจำการ |
สูตรสำคัญ
=COUNTIF(E:E, "พร้อมใช้")
=COUNTIFS(F:F, "<="&(TODAY()+30), F:F, ">="&TODAY())
=SUMIF(ซ่อมบำรุง!A:A, A2, ซ่อมบำรุง!F:F)
⛽ ระบบที่ 5 — ระบบน้ำมัน
บันทึกการเติมน้ำมัน, ต้นทุนน้ำมัน, รายงานรายคัน
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล | ตัวอย่าง |
|---|---|---|
| A | วันที่ | 21/06/2026 |
| B | รหัสรถ | TRK-001 |
| C | ทะเบียน | บจ 1234 ลป |
| D | ปั๊มน้ำมัน | PTT ลำพูน |
| E | ลิตร | 80 |
| F | ราคา/ลิตร | 35.50 |
| G | ยอดรวม | 2,840 |
| H | ประเภทน้ำมัน | ดีเซล B7 |
สูตรสำคัญ
=E2*F2
=SUMIFS(G:G, A:A, ">="&DATE(2026,6,1), A:A, "<="&EOMONTH(DATE(2026,6,1),0))
=SUMIFS(G:G, B:B, "TRK-001", A:A, ">="&DATE(2026,6,1))
=SUMIF(D:D, "PTT ลำพูน", E:E)
=LARGE(SUMIF(B:B, UNIQUE(B:B), G:G), 1)
💰 ระบบที่ 6 — รับ-จ่าย (Finance)
รายรับ-รายจ่ายทั้งหมด, กระแสเงินสด, กำไรสุทธิ
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล | ตัวอย่าง |
|---|---|---|
| A | ประเภท (รับ/จ่าย) | รับ |
| B | วันที่ | 10/06/2026 |
| C | จำนวนเงิน | 150,000 |
| D | หมวดหมู่ | ค่างวดงาน |
| E | โครงการ | ลำพูน A |
| F | หมายเหตุ | งวดที่ 2 |
| G | ผู้ดำเนินการ | สมชาย |
สูตรสำคัญ
=SUMIFS(C:C, A:A, "รับ", B:B, ">="&DATE(2026,6,1), B:B, "<="&EOMONTH(DATE(2026,6,1),0))
=SUMIFS(C:C, A:A, "จ่าย", B:B, ">="&DATE(2026,6,1), B:B, "<="&EOMONTH(DATE(2026,6,1),0))
=SUMIFS(C:C, A:A, "รับ", B:B, "<="&B2) - SUMIFS(C:C, A:A, "จ่าย", B:B, "<="&B2)
=SUMIFS(C:C, A:A, "จ่าย", D:D, "ค่าแรง")
🔧 ระบบที่ 7 — ค่างวดรถ
ตารางผ่อนรถ, งวดคงเหลือ, ยอดหนี้รวม
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล |
|---|---|
| A | รหัสรถ |
| B | ชื่อไฟแนนซ์ |
| C | ราคารถ |
| D | เงินดาวน์ |
| E | งวด/เดือน (฿) |
| F | จำนวนงวดทั้งหมด |
| G | งวดที่จ่ายแล้ว |
| H | งวดคงเหลือ (=F-G) |
| I | ยอดหนี้คงเหลือ (=H*E) |
สูตรสำคัญ
=F2-G2
=(F2-G2)*E2
=SUM(E:E)
=COUNTIF(H:H, 0)
=IF(DAY(TODAY())>20,"ใกล้ถึงกำหนดชำระ!","")
📦 ระบบที่ 8 — สต๊อกวัสดุก่อสร้าง
คลังวัสดุ, ใบสั่งซื้อ PO, แจ้งเตือนของใกล้หมด
โครงสร้างชีตหลัก (STOCK)
| คอลัมน์ | ข้อมูล | ตัวอย่าง |
|---|---|---|
| A | รหัสวัสดุ | MAT-001 |
| B | ชื่อวัสดุ | ปูนซีเมนต์ตราช้าง |
| C | หมวดหมู่ | งานคอนกรีต |
| D | หน่วย | ถุง |
| E | จำนวนคงเหลือ | 1,240 |
| F | จำนวนขั้นต่ำ | 2,000 |
| G | ราคา/หน่วย | 145 |
| H | มูลค่าสต๊อก (=E×G) | 179,800 |
| I | ผู้จำหน่าย | อินทรีซีเมนต์ |
| J | สถานะ | ใกล้หมด / ปกติ |
สูตรสำคัญ
=E2*G2
=IF(E2=0,"หมดสต๊อก!",IF(E2
แสดงสถานะอัตโนมัติ 3 ระดับ
=SUM(H:H)
=COUNTIF(J:J, "ใกล้หมด")+COUNTIF(J:J, "หมดสต๊อก!")
=E2+จำนวนรับเข้า
=E2-จำนวนเบิก
โครงสร้างชีต PO (ใบสั่งซื้อ)
| คอลัมน์ | ข้อมูล |
|---|---|
| A | เลขที่ PO (PO-YYMM-NNN) |
| B | วันที่สั่ง |
| C | รหัสวัสดุ |
| D | จำนวน |
| E | ราคา/หน่วย |
| F | มูลค่า PO (=D×E) |
| G | ผู้จำหน่าย |
| H | สถานะ (รอรับ/รับแล้ว) |
| I | วันที่รับจริง |
🪨 ระบบที่ 9 — คอนกรีต
ออเดอร์คอนกรีต, ปริมาณส่ง, รายได้ต่อโครงการ
โครงสร้างข้อมูล
| คอลัมน์ | ข้อมูล | ตัวอย่าง |
|---|---|---|
| A | เลขที่ออเดอร์ | CON-2606-001 |
| B | วันที่ | 01/06/2026 |
| C | โครงการ | ลำพูน A |
| D | เกรดคอนกรีต | C30 |
| E | ปริมาณสั่ง (คิว) | 45 |
| F | ปริมาณส่งจริง (คิว) | 45 |
| G | ราคา/คิว | 900 |
| H | รายได้ (=F×G) | 40,500 |
| I | รถผสมคอนกรีต (คัน) | 7 |
| J | สถานะ | ส่งแล้ว |
สูตรสำคัญ
=F2*G2
=SUMIFS(F:F, B:B, ">="&DATE(2026,6,1), B:B, "<="&EOMONTH(DATE(2026,6,1),0))
=SUMIFS(H:H, B:B, ">="&DATE(2026,6,1), B:B, "<="&EOMONTH(DATE(2026,6,1),0))
=SUMIF(C:C, "ลำพูน A", F:F)
=SUM(F:F)/SUM(E:E)*100
=COUNTIF(J:J, "รอส่ง")
📐 สูตร Google Sheets อ้างอิงเร็ว
สูตรที่ใช้บ่อยในทุกระบบ
=SUMIFS(ช่วงผลลัพธ์, ช่วงเงื่อนไข1, เงื่อนไข1, ช่วงเงื่อนไข2, เงื่อนไข2)=EOMONTH(DATE(ปี,เดือน,1),0)=COUNTIFS(ช่วงA, เงื่อนไขA, ช่วงB, เงื่อนไขB)=VLOOKUP(ค่าค้นหา, ชีตอื่น!A:Z, คอลัมน์ผลลัพธ์, 0)=INDEX(ช่วงผลลัพธ์, MATCH(ค่าค้นหา, ช่วงค้นหา, 0))=UNIQUE(ช่วงข้อมูล)=TODAY()=MONTH(A2)=YEAR(A2)=SUMPRODUCT((เงื่อนไข1)*(เงื่อนไข2)*ช่วงผลลัพธ์)=IF(เงื่อนไข1, ผล1, IF(เงื่อนไข2, ผล2, ผลอื่น))=TEXT(A2,"#,##0.00")💡 เทคนิคและข้อแนะนำ
Best practices สำหรับ LMC Smart Systems
การป้องกันข้อมูลผิดพลาด
Data → Data Validation → Dropdown (จากช่วง)Data → Protect sheets and rangesFormat → Conditional Formattingการตั้งชื่อช่วงข้อมูล (Named Range)
ประโยชน์: เขียนสูตรได้ง่าย เช่น
=SUMIF(SITES, "ลำพูน A", MAN_DAYS) แทนที่จะต้องจำ B:B, D:D
การสำรองข้อมูลรายเดือน
ทุกสิ้นเดือนให้ทำสำเนาชีตข้อมูล โดย: คลิกขวาที่แท็บชีต → Duplicate → เปลี่ยนชื่อเป็น "YYYY-MM BACKUP" แล้วล็อคไม่ให้แก้ไข