รวมสูตร Excel ที่คนทำงานออฟฟิศใช้บ่อย

ถ้าคุณทำงานเอกสาร รายงาน ยอดขาย สต็อก หรือสรุปข้อมูลลูกค้า—สูตร Excel ต่อไปนี้คือ “ตัวช่วยหลัก” ที่ทำให้ทำงานเร็วขึ้น ลดพลาด และทำไฟล์ดูเป็นมืออาชีพ

IF / IFERROR XLOOKUP SUMIF / SUMIFS COUNTIF / COUNTIFS FILTER TEXT / TEXTJOIN TRIM EOMONTH / NETWORKDAYS

ก่อนเริ่ม: วิธีอ่านตัวอย่างสูตรให้ไว

  • A2, B2:B100 คือการอ้างอิงเซลล์/ช่วงข้อมูล
  • ตัวอย่างเช่น "OK" คือข้อความ (ต้องใส่เครื่องหมายคำพูด)
  • เกณฑ์ในสูตรสาย IF/COUNTIF/SUMIF มักเขียนแบบ ">=100" หรือ "<>""
  • ถ้าใช้ Excel เวอร์ชันใหม่ สูตรบางตัวจะ “แผ่ผลลัพธ์” เป็นหลายแถวอัตโนมัติ (เช่น FILTER)
ทริคทำงานจริง: แนะนำให้ “แปลงข้อมูลเป็น Table” (กด Ctrl+T) ก่อน เพราะจะทำให้สูตรอ่านง่ายและขยายช่วงอัตโนมัติเมื่อเพิ่มแถว

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)
ทริค: ใช้ IFERROR ครอบสูตรค้นหา เช่น XLOOKUP เพื่อให้แสดง “ไม่พบข้อมูล” แทน #N/A

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], "ไม่มีสินค้า")
ทริคใช้งานจริง: ถ้าคุณทำรายงานส่งหัวหน้า ให้ตั้ง if_not_found เป็นคำสุภาพ เช่น “ตรวจสอบรหัสอีกครั้ง” จะช่วยลดการถามกลับและทำให้ไฟล์ดูโปรขึ้น

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, "")
ทริค: ใช้ FILTER ทำ “หน้า Dashboard” ได้สวยมาก เพราะตารางจะอัปเดตตามตัวเลือก (เช่น dropdown) ทันที

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)
ทริค: ถ้าต้อง “รวมหลายบรรทัดใน 1 เซลล์” ให้ใช้ตัวคั่นเป็น 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)   /* วันสิ้นเดือนถัดไป */
ทริค: ถ้าคุณต้องทำกำหนดส่ง “สิ้นเดือนทุกเดือน” ให้ใช้ EOMONTH แล้วค่อยบวก/ลบวันเพิ่มตามเงื่อนไขธุรกิจ

เช็กลิสต์จำง่าย: ถ้าเจองานแบบนี้ ให้หยิบสูตรไหนก่อน

โจทย์งานออฟฟิศ สูตรที่ควรลอง
ทำสถานะ “ผ่าน/ไม่ผ่าน”, “เกินงบ/ไม่เกินงบ” 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 เพื่อทำไฟล์ให้ “สะอาด” และ “พร้อมส่ง” มากขึ้น