ถ้าต้องเลือกเรียนฟังก์ชันใน Google Sheet ได้แค่ตัวเดียว คำตอบคือ IF เพราะ IF คือ พื้นฐานของการตัดสินใจอัตโนมัติใน Spreadsheet ทุกอย่างที่ต้องมีเงื่อนไขล้วนเริ่มจาก IF ทั้งนั้น
ไม่ว่าจะเป็นการเช็คว่านักเรียนสอบผ่านหรือไม่ผ่าน คำนวณโบนัสพนักงานตามยอดขาย หรือแบ่งเกรดคะแนนอัตโนมัติ ทั้งหมดนี้ใช้สูตร IF เป็นหลัก บทความนี้จะพาไปตั้งแต่ IF พื้นฐานไปจนถึง IF ขั้นสูง พร้อมตัวอย่างที่ใช้ได้จริงในที่ทำงาน
สิ่งที่จะได้จากบทความนี้
- เข้าใจหลักการทำงานของฟังก์ชัน IF อย่างถ่องแท้
- เขียนสูตร IF ซ้อน IF (Nested IF) ได้อย่างมั่นใจ
- ใช้ IFS เป็นทางเลือกที่อ่านง่ายกว่า Nested IF
- รวม IF กับ AND และ OR เพื่อเช็คหลายเงื่อนไขพร้อมกัน
- ตัวอย่างจริงจากที่ทำงานที่นำไปใช้ได้ทันที
เนื้อหาในบทความ
1. IF พื้นฐาน - เริ่มต้นจากตรงนี้
ฟังก์ชัน IF ทำงานง่ายมาก คือ "ถ้า...จริง ให้ทำ A ถ้าไม่จริง ให้ทำ B"เหมือนการตัดสินใจในชีวิตจริง เช่น "ถ้าฝนตก ให้พกร่ม ถ้าไม่ตก ไม่ต้องพก"
โครงสร้างสูตร (Syntax)
=IF(เงื่อนไข, ค่าถ้าจริง, ค่าถ้าเท็จ)
เงื่อนไข = สิ่งที่ต้องการเช็ค (condition)
ค่าถ้าจริง = ผลลัพธ์ถ้าเงื่อนไขเป็นจริง (value_if_true)
ค่าถ้าเท็จ = ผลลัพธ์ถ้าเงื่อนไขเป็นเท็จ (value_if_false)
ตัวดำเนินการเปรียบเทียบที่ใช้กับ IF
| ตัวดำเนินการ | ความหมาย | ตัวอย่าง |
|---|---|---|
| = | เท่ากับ | A1=100 |
| <> | ไม่เท่ากับ | A1<>"ว่าง" |
| > | มากกว่า | A1>50 |
| >= | มากกว่าหรือเท่ากับ | A1>=50 |
| < | น้อยกว่า | A1<50 |
| <= | น้อยกว่าหรือเท่ากับ | A1<=100 |
เคล็ดลับ
ข้อความ (text) ในสูตร IF ต้องอยู่ในเครื่องหมายคำพูด " " เสมอ แต่ตัวเลขไม่ต้องใส่เครื่องหมายคำพูด เช่น =IF(A1>50, "ผ่าน", "ไม่ผ่าน")
2. ตัวอย่างจริง: เช็คผ่าน/ไม่ผ่าน
สถานการณ์: เรามีคะแนนสอบของนักเรียน ต้องการให้ Google Sheet เช็คอัตโนมัติว่า ใครสอบผ่าน (ได้ 50 คะแนนขึ้นไป) และใครสอบไม่ผ่าน
สูตรที่ใช้
=IF(B2>=50, "ผ่าน", "ไม่ผ่าน")
ถ้าคะแนนในเซลล์ B2 >= 50 แสดง "ผ่าน" ถ้าไม่ใช่ แสดง "ไม่ผ่าน"
ตารางตัวอย่าง
| A (ชื่อ) | B (คะแนน) | C (สูตร IF) | C (ผลลัพธ์) |
|---|---|---|---|
| สมชาย | 72 | =IF(B2>=50, "ผ่าน", "ไม่ผ่าน") | ผ่าน |
| สมหญิง | 45 | =IF(B3>=50, "ผ่าน", "ไม่ผ่าน") | ไม่ผ่าน |
| สมศรี | 50 | =IF(B4>=50, "ผ่าน", "ไม่ผ่าน") | ผ่าน |
| สมปอง | 33 | =IF(B5>=50, "ผ่าน", "ไม่ผ่าน") | ไม่ผ่าน |
เคล็ดลับ
พิมพ์สูตรแค่เซลล์แรก (C2) แล้วลากมุมขวาล่างลงมาเพื่อ copy สูตรไปยังเซลล์อื่น Google Sheet จะปรับเลขแถวให้อัตโนมัติ (B2 เปลี่ยนเป็น B3, B4, ...)
3. ตัวอย่างจริง: คำนวณโบนัส
สถานการณ์: บริษัทมีนโยบายจ่ายโบนัส ถ้าพนักงานทำยอดขายถึง 100,000 บาท จะได้โบนัส 10% ถ้าไม่ถึงจะได้โบนัส 5%
สูตรที่ใช้
=IF(B2>=100000, B2*10%, B2*5%)
ถ้ายอดขาย >= 100,000 โบนัส = ยอดขาย x 10% ถ้าไม่ถึง โบนัส = ยอดขาย x 5%
ตารางตัวอย่าง
| A (ชื่อ) | B (ยอดขาย) | C (โบนัส) | อัตราที่ได้ |
|---|---|---|---|
| วิชัย | 150,000 | 15,000 | 10% |
| อรุณ | 80,000 | 4,000 | 5% |
| พิมพ์ | 100,000 | 10,000 | 10% |
| กมล | 55,000 | 2,750 | 5% |
เคล็ดลับ
ค่าถ้าจริงและค่าถ้าเท็จไม่จำเป็นต้องเป็นข้อความเสมอไป ใส่เป็นสูตรคำนวณก็ได้ เช่น B2*10% ซึ่ง Google Sheet จะคำนวณให้อัตโนมัติ
4. IF ซ้อน IF (Nested IF) - แบ่งเกรดอัตโนมัติ
Nested IF คือการใส่สูตร IF ไว้ข้างในสูตร IF อีกที ใช้เมื่อต้องเช็คมากกว่า 2 เงื่อนไข ตัวอย่างที่พบบ่อยที่สุดคือ การแบ่งเกรด ที่มีหลายระดับ
เกณฑ์การให้เกรด
| คะแนน | เกรด |
|---|---|
| 80 ขึ้นไป | A |
| 70 - 79 | B |
| 60 - 69 | C |
| 50 - 59 | D |
| ต่ำกว่า 50 | F |
สูตร Nested IF
=IF(B2>=80, "A",
IF(B2>=70, "B",
IF(B2>=60, "C",
IF(B2>=50, "D", "F")
)
)
)
วิธีอ่านสูตร (ทีละขั้น)
เช็คก่อนว่า B2 >= 80 ไหม? ถ้าใช่ ให้เกรด A
ถ้าไม่ใช่ เช็คว่า B2 >= 70 ไหม? ถ้าใช่ ให้เกรด B
ถ้าไม่ใช่ เช็คว่า B2 >= 60 ไหม? ถ้าใช่ ให้เกรด C
ถ้าไม่ใช่ เช็คว่า B2 >= 50 ไหม? ถ้าใช่ ให้เกรด D
ถ้าไม่ผ่านเงื่อนไขไหนเลย (น้อยกว่า 50) ให้เกรด F
ตารางผลลัพธ์
| ชื่อ | คะแนน | เกรด (ผลลัพธ์) |
|---|---|---|
| ธนพล | 92 | A |
| นภัส | 75 | B |
| พิชญ์ | 63 | C |
| มานี | 54 | D |
| ชาลี | 38 | F |
เคล็ดลับ
สังเกตว่าเราเช็คจากค่ามากไปน้อย (80, 70, 60, 50) เสมอ เพราะถ้าเงื่อนไขแรกไม่ผ่าน แสดงว่าค่าน้อยกว่า 80 แน่นอน จึงไม่ต้องเช็คช่วง 70-79 อีก แค่เช็คว่า >= 70 ก็พอ
5. IFS - ทางเลือกที่อ่านง่ายกว่า Nested IF
ฟังก์ชัน IFS เป็นเวอร์ชันอัปเกรดของ Nested IF ที่ Google Sheet เพิ่มมาให้ ทำหน้าที่เหมือนกันทุกอย่าง แต่ เขียนง่ายกว่าและอ่านง่ายกว่ามากไม่ต้องปิดวงเล็บหลายชั้น
โครงสร้างสูตร IFS
=IFS(เงื่อนไข1, ค่า1, เงื่อนไข2, ค่า2, ..., TRUE, ค่าเริ่มต้น)
TRUE ตัวสุดท้ายทำหน้าที่เหมือน "else" คือเป็นค่าเริ่มต้นเมื่อไม่ตรงเงื่อนไขไหนเลย
ตัวอย่าง: แบ่งเกรดด้วย IFS
=IFS(
B2>=80, "A",
B2>=70, "B",
B2>=60, "C",
B2>=50, "D",
TRUE, "F"
)
เปรียบเทียบ Nested IF กับ IFS
Nested IF
- -ต้องปิดวงเล็บหลายชั้น
- -อ่านยากเมื่อมีหลายเงื่อนไข
- -แก้ไขลำบาก ผิดวงเล็บบ่อย
- +ใช้ได้ทุก Spreadsheet (Excel, Google Sheet)
IFS (แนะนำ)
- +เขียนง่าย อ่านง่าย
- +ปิดวงเล็บแค่ครั้งเดียว
- +แก้ไขง่าย เพิ่ม/ลบเงื่อนไขสะดวก
- -ใช้ได้เฉพาะ Google Sheet และ Excel 365+
เคล็ดลับ
ถ้าใช้ Google Sheet อยู่แล้ว แนะนำให้ใช้ IFS แทน Nested IF เสมอ เมื่อมีตั้งแต่ 3 เงื่อนไขขึ้นไป อย่าลืมใส่ TRUE เป็นเงื่อนไขสุดท้ายเพื่อจัดการกรณีที่ไม่ตรงเงื่อนไขไหนเลย
6. IF + AND - ต้องผ่านทุกเงื่อนไข
บางครั้งการตัดสินใจต้องเช็คหลายเงื่อนไขพร้อมกัน และ ต้องผ่านทุกเงื่อนไข ถึงจะถือว่าผ่าน เช่น นักเรียนต้องสอบผ่านทั้งวิชาคณิตศาสตร์และภาษาอังกฤษ ถึงจะได้เลื่อนชั้น
โครงสร้างสูตร
=IF(AND(เงื่อนไข1, เงื่อนไข2, ...), ค่าถ้าจริง, ค่าถ้าเท็จ)
AND จะคืนค่า TRUE เมื่อทุกเงื่อนไขเป็นจริงเท่านั้น
ตัวอย่าง: เช็คว่าสอบผ่านทั้ง 2 วิชา
=IF(AND(B2>=50, C2>=50), "เลื่อนชั้น", "ซ่อม")
B2 = คะแนนคณิต, C2 = คะแนนอังกฤษ ต้อง >= 50 ทั้งคู่
| ชื่อ | คณิต (B) | อังกฤษ (C) | ผลลัพธ์ |
|---|---|---|---|
| สมใจ | 65 | 72 | เลื่อนชั้น |
| สมคิด | 80 | 42 | ซ่อม |
| สมหวัง | 35 | 55 | ซ่อม |
| สมปอง | 50 | 50 | เลื่อนชั้น |
เคล็ดลับ
AND สามารถใส่เงื่อนไขได้มากกว่า 2 เช่น AND(B2>=50, C2>=50, D2>=50) เพื่อเช็คว่าผ่านทั้ง 3 วิชา ทุกเงื่อนไขต้องเป็นจริงทั้งหมด
7. IF + OR - ผ่านอย่างน้อย 1 เงื่อนไข
ตรงข้ามกับ AND ฟังก์ชัน OR จะคืนค่า TRUE เมื่อ มีเงื่อนไขอย่างน้อย 1 ข้อเป็นจริงเช่น พนักงานจะได้รางวัลถ้ายอดขายเกินเป้า หรือ คะแนน feedback จากลูกค้าสูง อย่างใดอย่างหนึ่งก็พอ
โครงสร้างสูตร
=IF(OR(เงื่อนไข1, เงื่อนไข2, ...), ค่าถ้าจริง, ค่าถ้าเท็จ)
OR จะคืนค่า TRUE เมื่อมีเงื่อนไขอย่างน้อย 1 ข้อเป็นจริง
ตัวอย่าง: เช็คว่าได้รางวัลพนักงานดีเด่น
=IF(OR(B2>=100000, C2>=90), "ได้รางวัล", "ไม่ได้")
B2 = ยอดขาย (>= 100,000) หรือ C2 = คะแนน feedback (>= 90) อย่างใดอย่างหนึ่ง
| ชื่อ | ยอดขาย (B) | Feedback (C) | ผลลัพธ์ |
|---|---|---|---|
| วรรณา | 120,000 | 85 | ได้รางวัล |
| ประวิทย์ | 70,000 | 95 | ได้รางวัล |
| นิภา | 60,000 | 75 | ไม่ได้ |
| ธีรพงษ์ | 150,000 | 92 | ได้รางวัล |
เคล็ดลับ
จำง่ายๆ: AND = ต้องผ่านทุกเงื่อนไข (เข้มงวด), OR = ผ่านอย่างน้อย 1 เงื่อนไข (ผ่อนปรน) เลือกใช้ตามสถานการณ์ที่ต้องการ
8. ตัวอย่างจริงในที่ทำงาน
มาดูตัวอย่างการใช้สูตร IF ในสถานการณ์จริงที่พบบ่อยในที่ทำงาน สามารถ copy สูตรเหล่านี้ไปปรับใช้กับข้อมูลของเราได้เลย
ตัวอย่างที่ 1: เช็คสต็อกสินค้า
เมื่อจำนวนสินค้าคงเหลือน้อยกว่าจุดสั่งซื้อ (Reorder Point) ให้แจ้งเตือนว่าต้องสั่งซื้อเพิ่ม
=IF(B2<=C2, "สั่งซื้อด่วน!", "ยังพอ")
B2 = จำนวนคงเหลือ, C2 = จุดสั่งซื้อ
| สินค้า | คงเหลือ | จุดสั่งซื้อ | สถานะ |
|---|---|---|---|
| กระดาษ A4 | 5 | 10 | สั่งซื้อด่วน! |
| หมึกพิมพ์ | 15 | 5 | ยังพอ |
| แฟ้มเอกสาร | 10 | 10 | สั่งซื้อด่วน! |
ตัวอย่างที่ 2: เช็คสถานะการจ่ายเงิน
เทียบวันที่ครบกำหนดกับวันนี้ ถ้าเลยกำหนดแล้วยังไม่จ่าย ให้แจ้งเตือน
=IF(C2="จ่ายแล้ว", "เรียบร้อย",
IF(B2<TODAY(), "เกินกำหนด!", "รอจ่าย"))
B2 = วันครบกำหนด, C2 = สถานะการจ่าย
| รายการ | วันครบกำหนด | สถานะจ่าย | ผลลัพธ์ |
|---|---|---|---|
| ค่าเช่าออฟฟิศ | 01/09/2024 | จ่ายแล้ว | เรียบร้อย |
| ค่าอินเทอร์เน็ต | 05/09/2024 | ยังไม่จ่าย | เกินกำหนด! |
| ค่าโทรศัพท์ | 30/09/2024 | ยังไม่จ่าย | รอจ่าย |
ตัวอย่างที่ 3: คำนวณส่วนลดตามยอดซื้อ
ซื้อมาก ลดมาก: ยอดซื้อ 5,000+ ลด 15%, ยอด 3,000+ ลด 10%, ยอด 1,000+ ลด 5%, ต่ำกว่า 1,000 ไม่ลด
=IFS(
B2>=5000, B2*15%,
B2>=3000, B2*10%,
B2>=1000, B2*5%,
TRUE, 0
)
| ลูกค้า | ยอดซื้อ | ส่วนลด | ราคาสุทธิ |
|---|---|---|---|
| ร้าน A | 6,000 | 900 (15%) | 5,100 |
| ร้าน B | 3,500 | 350 (10%) | 3,150 |
| ร้าน C | 800 | 0 (ไม่ลด) | 800 |
ตัวอย่างที่ 4: เช็คสถานะโปรเจค
เช็ค % ความคืบหน้าและวันกำหนดส่ง เพื่อแสดงสถานะอัตโนมัติ
=IF(B2=100%, "เสร็จแล้ว",
IF(AND(B2<100%, C2<TODAY()), "ล่าช้า!",
"กำลังทำ"))
B2 = % ความคืบหน้า, C2 = วันกำหนดส่ง
| โปรเจค | ความคืบหน้า | กำหนดส่ง | สถานะ |
|---|---|---|---|
| Website Redesign | 100% | 01/09/2024 | เสร็จแล้ว |
| Mobile App | 45% | 10/08/2024 | ล่าช้า! |
| Marketing Plan | 70% | 30/09/2024 | กำลังทำ |
9. ข้อผิดพลาดที่พบบ่อย
สูตร IF ดูเหมือนง่าย แต่มีข้อผิดพลาดที่คนเขียนผิดบ่อยมาก มาดูกันว่ามีอะไรบ้างและจะแก้ไขอย่างไร
1. ลืมใส่เครื่องหมายคำพูดรอบข้อความ
=IF(A1>50, ผ่าน, ไม่ผ่าน) // ผิด!
=IF(A1>50, "ผ่าน", "ไม่ผ่าน") // ถูก!
ข้อความ (text) ต้องอยู่ในเครื่องหมายคำพูดเสมอ ไม่งั้น Google Sheet จะคิดว่าเป็นชื่อ range
2. ปิดวงเล็บไม่ครบใน Nested IF
=IF(A1>=80, "A", IF(A1>=70, "B", IF(A1>=60, "C", "F"))
// เปิด 3 วงเล็บ แต่ปิดแค่ 2
=IF(A1>=80, "A", IF(A1>=70, "B", IF(A1>=60, "C", "F")))
// เปิด 3 ปิด 3 ถูกต้อง!
จำง่ายๆ: นับ IF กี่ตัว ก็ต้องปิดวงเล็บเท่ากับจำนวน IF หรือใช้ IFS แทนเพื่อหลีกเลี่ยงปัญหานี้
3. เรียงลำดับเงื่อนไขผิดใน Nested IF
=IF(A1>=50, "D", IF(A1>=60, "C", IF(A1>=70, "B", "A")))
// เช็ค 50 ก่อน คนได้ 90 ก็จะได้ D!
=IF(A1>=80, "A", IF(A1>=70, "B", IF(A1>=60, "C", "D")))
// เช็คจากมากไปน้อย ถูกต้อง!
Nested IF ต้องเรียงเงื่อนไขจาก มากไปน้อย เสมอ (80, 70, 60, 50) เพราะจะหยุดทันทีที่เจอเงื่อนไขแรกที่เป็นจริง
4. ลืมจัดการกรณีเซลล์ว่าง (empty cell)
=IF(A1>=50, "ผ่าน", "ไม่ผ่าน")
// ถ้า A1 ว่าง จะแสดง "ไม่ผ่าน" ซึ่งไม่ถูกต้อง
=IF(A1="", "", IF(A1>=50, "ผ่าน", "ไม่ผ่าน"))
// เช็คก่อนว่าว่างไหม ถ้าว่างไม่ต้องแสดงอะไร
เซลล์ว่างจะมีค่าเท่ากับ 0 ดังนั้นถ้าไม่เช็คก่อน สูตรจะคำนวณเซลล์ว่างด้วย ควรเพิ่ม IF(A1="", "", ...) เพื่อจัดการกรณีเซลล์ว่าง
5. สับสนระหว่าง AND กับ OR
=IF(AND(A1>=50, B1>=50), "ผ่าน", "ไม่ผ่าน")
// AND = ต้องผ่าน "ทั้งคู่"
=IF(OR(A1>=50, B1>=50), "ผ่าน", "ไม่ผ่าน")
// OR = ผ่าน "อย่างน้อย 1 อย่าง"
ก่อนเลือกใช้ AND หรือ OR ให้ถามตัวเองว่า "ต้องผ่านทุกข้อไหม?" ถ้าต้องผ่านทุกข้อ ใช้ AND ถ้าผ่านข้อเดียวก็พอ ใช้ OR
พร้อมทดสอบความรู้สูตร IF แล้วหรือยัง?
ลองทำแบบทดสอบ Google Sheet ฟรี เพื่อวัดระดับความรู้ของเรา หรือดาวน์โหลดเทมเพลตพร้อมสูตร IF ที่เตรียมไว้ให้
คำถามที่พบบ่อย
IF ใน Google Sheet ใช้ยังไง?
ใช้สูตร =IF(เงื่อนไข, ค่าถ้าจริง, ค่าถ้าเท็จ) เช่น =IF(A1>=50, "ผ่าน", "ไม่ผ่าน") ถ้าค่าในเซลล์ A1 มากกว่าหรือเท่ากับ 50 จะแสดงคำว่า "ผ่าน" แต่ถ้าน้อยกว่า 50 จะแสดงคำว่า "ไม่ผ่าน"
IF ซ้อน IF (Nested IF) คืออะไร?
Nested IF คือการใส่สูตร IF ซ้อนกันหลายชั้นเพื่อเช็คหลายเงื่อนไข เช่น =IF(A1>=80, "A", IF(A1>=70, "B", IF(A1>=60, "C", "F"))) ใช้เมื่อต้องการแบ่งเกรดหรือจัดกลุ่มข้อมูลหลายระดับ แต่ถ้าซ้อนเกิน 3 ชั้นแนะนำให้ใช้ IFS แทน
IFS กับ IF ต่างกันอย่างไร?
IFS ใช้เช็คหลายเงื่อนไขได้ในสูตรเดียวโดยไม่ต้องซ้อน IF เช่น =IFS(A1>=80, "A", A1>=70, "B", A1>=60, "C", TRUE, "F") อ่านง่ายกว่า Nested IF มาก เหมาะกับกรณีที่มีเงื่อนไขตั้งแต่ 3 เงื่อนไขขึ้นไป
ใช้ IF กับ AND และ OR ต่างกันอย่างไร?
IF กับ AND ใช้เมื่อต้องผ่านทุกเงื่อนไข เช่น =IF(AND(A1>=50, B1>=50), "ผ่าน", "ไม่ผ่าน") ต้องได้คะแนนทั้งสองวิชาตั้งแต่ 50 ขึ้นไป ส่วน IF กับ OR ใช้เมื่อผ่านอย่างน้อย 1 เงื่อนไข เช่น =IF(OR(A1>=80, B1>=80), "เด่น", "ปกติ") ได้วิชาใดวิชาหนึ่งตั้งแต่ 80 ก็ถือว่าเด่น
สูตร IF ใน Google Sheet ซ้อนได้กี่ชั้น?
Google Sheet รองรับการซ้อน IF ได้สูงสุด 30 ชั้น แต่ในทางปฏิบัติไม่ควรซ้อนเกิน 3-4 ชั้น เพราะจะอ่านยากและแก้ไขลำบาก ถ้าต้องเช็คหลายเงื่อนไขแนะนำให้ใช้ IFS, SWITCH หรือ VLOOKUP แทน
บทความที่เกี่ยวข้อง
สอน Google Apps Script สำหรับ Automation
เรียนรู้การเขียน Script เพื่อทำให้ Google Sheet ทำงานอัตโนมัติ
สอน Pivot Table ใน Google Sheet
เรียนรู้การสร้าง Pivot Table เพื่อวิเคราะห์ข้อมูลอย่างมืออาชีพ