รวมสูตร Excel ที่คนทำงานออฟฟิศใช้บ่อย
ถ้าคุณทำงานเอกสาร รายงาน ยอดขาย สต็อก หรือสรุปข้อมูลลูกค้า—สูตร Excel ต่อไปนี้คือ “ตัวช่วยหลัก” ที่ทำให้ทำงานเร็วขึ้น ลดพลาด และทำไฟล์ดูเป็นมืออาชีพ
ก่อนเริ่ม: วิธีอ่านตัวอย่างสูตรให้ไว
- A2, B2:B100 คือการอ้างอิงเซลล์/ช่วงข้อมูล
- ตัวอย่างเช่น "OK" คือข้อความ (ต้องใส่เครื่องหมายคำพูด)
- เกณฑ์ในสูตรสาย IF/COUNTIF/SUMIF มักเขียนแบบ ">=100" หรือ "<>""
- ถ้าใช้ Excel เวอร์ชันใหม่ สูตรบางตัวจะ “แผ่ผลลัพธ์” เป็นหลายแถวอัตโนมัติ (เช่น FILTER)
1) สูตรตัดสินใจ/กันพัง: IF, AND/OR, IFERROR
งานออฟฟิศแทบทุกไฟล์ต้องมี “เงื่อนไข” เช่น ถ้าเกินงบให้เตือน ถ้าส่งงานแล้วให้ขึ้นสถานะ หรือถ้าหาค่าไม่เจอให้แสดงคำว่า “ไม่พบข้อมูล” กลุ่มนี้จึงเป็นสูตรพื้นฐานที่คุ้มที่สุดในการเริ่มต้น
IF: ถ้าเงื่อนไขจริงให้คืนค่า A ถ้าไม่จริงให้คืนค่า B
=IF(logical_test, value_if_true, value_if_false)
ตัวอย่าง: ถ้าใช้จ่ายเกินงบให้ขึ้น “เกินงบ” ไม่งั้นขึ้น “OK”
=IF(C2>D2,"เกินงบ","OK")
IF + AND/OR: เงื่อนไขหลายข้อในครั้งเดียว
ตัวอย่าง: ได้โบนัสเมื่อ “ยอดขายถึงเป้า” และ “ไม่มีวันขาดงาน”
=IF(AND(B2>=100000, C2=0),"ได้โบนัส","ยังไม่ได้")
IFERROR: กันสูตรพังเมื่อเจอ Error
ในชีวิตจริง เรามักเจอ #N/A (หาไม่เจอ) หรือ #DIV/0! (หารด้วยศูนย์) ทำให้รายงานดูไม่สวย IFERROR ช่วยแทนค่า Error ด้วยข้อความหรือเลขที่ต้องการ
=IFERROR(value, value_if_error)
=IFERROR(A2/B2, 0)
2) สูตรค้นหา: XLOOKUP (ตัวจบงาน VLOOKUP แบบเดิม)
XLOOKUP ใช้ค้นหาค่าในช่วงหนึ่ง แล้วคืนค่าที่สัมพันธ์กันจากอีกช่วงหนึ่ง เหมาะมากกับงาน “ดึงชื่อสินค้า”, “ดึงราคา”, “ดึงแผนก”, “ดึงเบอร์ลูกค้า” และสามารถกำหนดข้อความเมื่อหาไม่เจอได้ด้วย
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
| สถานการณ์ | สูตรตัวอย่าง |
|---|---|
| ค้นหารหัสพนักงาน → คืนชื่อพนักงาน | =XLOOKUP(A2, Employees[EmpID], Employees[Name], "ไม่พบข้อมูล") |
| ค้นหารหัสสินค้า → คืนราคา | =XLOOKUP(E2, Products[SKU], Products[Price], "ไม่มีสินค้า") |
3) สูตรรวม/นับแบบมีเงื่อนไข: SUMIF/SUMIFS, COUNTIF/COUNTIFS
เวลาทำสรุปยอดขาย สรุปค่าใช้จ่าย แยกตามเดือน/ทีม/หมวดสินค้า หรืออยากนับจำนวนงานที่ “สถานะ = เสร็จแล้ว” สูตรแบบมีเงื่อนไขคือหัวใจของรายงาน
SUMIF: รวมยอดตามเงื่อนไข 1 ข้อ
=SUMIF(range, criteria, [sum_range])
ตัวอย่าง: รวมยอดขายเฉพาะรายการที่มากกว่า 5
=SUMIF(B2:B25, ">5")
SUMIFS: รวมยอดตามเงื่อนไขหลายข้อ
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
ตัวอย่าง: รวมยอด “ทีม A” และ “เดือน ม.ค.”
=SUMIFS(Sales[Amount], Sales[Team], "A", Sales[Month], "Jan")
COUNTIF/COUNTIFS: นับจำนวนรายการตามเงื่อนไข
ตัวอย่าง: นับจำนวนงานที่สถานะ = “Done”
=COUNTIF(Tasks[Status], "Done")
=COUNTIFS(Tasks[Owner], "May", Tasks[Status], "Done")
"<>" เช่น =COUNTIF(A:A,"<>") เพื่อ “นับช่องที่ไม่ว่าง”
4) ดึงรายการตามเงื่อนไข: FILTER (เหมาะกับทำลิสต์อัตโนมัติ)
FILTER เป็นสูตรที่เหมาะมากกับการ “ดึงเฉพาะรายการที่ต้องการ” มาแสดงเป็นตารางใหม่ เช่น ดึงเฉพาะบิลค้างชำระ, ดึงเฉพาะลูกค้าที่อยู่จังหวัดเดียวกัน, หรือดึงเฉพาะสินค้าที่สต็อกต่ำ โดยจะคืนผลลัพธ์เป็นหลายแถวแบบอัตโนมัติ
=FILTER(array, include, [if_empty])
ตัวอย่าง: ดึงรายการที่สินค้าเท่ากับค่าที่เลือกใน H2 ถ้าไม่เจอให้ว่าง
=FILTER(A5:D20, C5:C20=H2, "")
5) จัดการข้อความ: TRIM, LEFT, TEXT, TEXTJOIN
ไฟล์จากลูกค้า/ซัพพลายเออร์มักมีปัญหาช่องว่างแปลก ๆ หรือรหัสข้อมูลที่ต้องตัดหน้าตัดหลัง รวมถึงงานทำรายงานที่ต้องจัดรูปแบบเลข/วันที่ให้อ่านง่าย—กลุ่มนี้ช่วยได้มาก
TRIM: ลบช่องว่างส่วนเกิน เหลือช่องว่างเดี่ยวระหว่างคำ
=TRIM(text)
=TRIM(A2)
LEFT: ดึงอักขระจากด้านซ้ายตามจำนวนที่กำหนด
=LEFT(text, [num_chars])
=LEFT(A2, 3)
TEXT: จัดรูปแบบตัวเลข/วันเวลาเป็นข้อความ
ตัวอย่าง: เปลี่ยนตัวเลขให้มีคอมม่าและทศนิยม 2 ตำแหน่ง
=TEXT(A2, "#,##0.00")
TEXTJOIN: รวมข้อความหลายเซลล์ พร้อมตัวคั่น และข้ามช่องว่างได้
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
ตัวอย่าง: รวมชื่อ-นามสกุล-แผนก โดยคั่นด้วย “ | ” และข้ามค่าว่าง
=TEXTJOIN(" | ", TRUE, A2, B2, C2)
CHAR(10) แล้วเปิด Wrap Text
6) วันที่ทำงาน/สิ้นเดือน: NETWORKDAYS, EOMONTH
งาน HR / งานวางแผนส่งของ / งานบัญชี มักต้องคำนวณ “วันทำงาน” หรือ “วันสิ้นเดือน” เพื่อหาเส้นตาย ส่งงาน ปิดรอบ หรือคิดค่าแรงตามวันทำงาน
NETWORKDAYS: นับจำนวนวันทำงาน (ไม่รวมเสาร์-อาทิตย์ และวันหยุดที่ระบุ)
=NETWORKDAYS(start_date, end_date, [holidays])
=NETWORKDAYS(A2, B2, Holidays[Date])
EOMONTH: หาวันสุดท้ายของเดือน (ก่อน/หลัง ตามจำนวนเดือนที่กำหนด)
=EOMONTH(start_date, months)
=EOMONTH(TODAY(), 0) /* วันสิ้นเดือนปัจจุบัน */
=EOMONTH(TODAY(), 1) /* วันสิ้นเดือนถัดไป */
เช็กลิสต์จำง่าย: ถ้าเจองานแบบนี้ ให้หยิบสูตรไหนก่อน
| โจทย์งานออฟฟิศ | สูตรที่ควรลอง |
|---|---|
| ทำสถานะ “ผ่าน/ไม่ผ่าน”, “เกินงบ/ไม่เกินงบ” | IF, AND/OR |
| ดึงชื่อ/ราคา/แผนกจากรหัส | XLOOKUP (+ IFERROR กันไม่พบ) |
| รวมยอดแยกตามหมวด/ทีม/เดือน | SUMIF / SUMIFS |
| นับจำนวนรายการตามเงื่อนไข | COUNTIF / COUNTIFS |
| ดึงลิสต์เฉพาะรายการที่ตรงเงื่อนไข | FILTER |
| ล้างช่องว่างแปลก ๆ / ตัดรหัส | TRIM, LEFT |
| จัดรูปแบบตัวเลข/วันที่ให้สวย | TEXT |
| รวมข้อความหลายช่องให้เป็นบรรทัดเดียว | TEXTJOIN |
| คำนวณวันทำงาน/วันสิ้นเดือน | NETWORKDAYS, EOMONTH |
สรุป: ถ้าคุณจำได้แค่ 6 ตัวนี้—IF, IFERROR, XLOOKUP, SUMIFS, COUNTIFS, FILTER— คุณจะทำรายงานส่วนใหญ่ในออฟฟิศได้เร็วขึ้นแบบรู้สึกได้ทันที แล้วค่อยเสริมด้วย TRIM/TEXT/TEXTJOIN และสูตรวันที่อย่าง EOMONTH/NETWORKDAYS เพื่อทำไฟล์ให้ “สะอาด” และ “พร้อมส่ง” มากขึ้น
แหล่งอ้างอิง (เอกสารทางการ)
- Microsoft Support: IF (ฟังก์ชัน IF)
- Microsoft Support: IFERROR (ฟังก์ชัน IFERROR)
- Microsoft Support: XLOOKUP (ฟังก์ชัน XLOOKUP)
- Microsoft Support: SUMIF (ฟังก์ชัน SUMIF)
- Microsoft Support: SUMIFS function
- Microsoft Support: ใช้ฟังก์ชัน COUNTIF
- Microsoft Support: COUNTIFS function
- Microsoft Support: FILTER (ฟังก์ชัน FILTER)
- Microsoft Support: TEXTJOIN (ฟังก์ชัน TEXTJOIN)
- Microsoft Support: TRIM (ฟังก์ชัน TRIM)
- Microsoft Support: LEFT function
- Microsoft Support: TEXT (ฟังก์ชัน TEXT)
- Microsoft Support: EOMONTH (ฟังก์ชัน EOMONTH)
- Microsoft Support: NETWORKDAYS (ฟังก์ชัน NETWORKDAYS)