ฟังก์ชัน IF คือสูตรที่ซ้อนกันและการหลีกเลี่ยงข้อผิดพลาด

ฟังก์ชัน IF ช่วยให้คุณสามารถทำการเปรียบเทียบตรรกะระหว่างค่าและสิ่งที่คุณคาดหวังไว้ โดยการทดสอบเงื่อนไข และส่งกลับผลลัพธ์ถ้าเป็น True หรือ False

  • =IF(ถ้ามีบางอย่างเป็น True ให้ดำเนินการอย่างหนึ่ง ถ้าไม่มี ให้ดำเนินการอีกอย่างหนึ่ง)

ดังนั้นคําสั่ง IF สามารถมีผลลัพธ์ได้สองรายการ ผลลัพธ์แรกคือถ้าการเปรียบเทียบของคุณเป็นจริง ผลลัพธ์ที่สองถ้าการเปรียบเทียบของคุณเป็นเท็จ

คําสั่ง IF มีเสถียรภาพอย่างไม่น่าเชื่อและเป็นพื้นฐานของรูปแบบสเปรดชีตจํานวนมาก แต่ก็เป็นสาเหตุหลักของปัญหาสเปรดชีตจํานวนมาก ตามหลักแล้ว คําสั่ง IF ควรนําไปใช้กับเงื่อนไขที่น้อยที่สุด เช่น ชาย/หญิง ใช่/ไม่ใช่/อาจจะ เพื่อตั้งชื่อให้เล็กน้อย แต่บางครั้งคุณอาจจําเป็นต้องประเมินสถานการณ์ที่ซับซ้อนมากขึ้นที่จําเป็นต้องซ้อน* มากกว่าฟังก์ชัน IF 3 ฟังก์ชันร่วมกัน

* “การซ้อนทับ” หมายถึงหลักปฏิบัติของฟังก์ชันหลายฟังก์ชันรวมกันในสูตรเดียว

ใช้ฟังก์ชัน IF ซึ่งเป็นหนึ่งใน ฟังก์ชันทางตรรกะ เพื่อส่งกลับหนึ่งค่าถ้าเงื่อนไขเป็น จริง และอีกค่าหนึ่งถ้าเงื่อนไขเป็น เท็จ

ไวยากรณ์

IF(logical_test, value_if_true, [value_if_false])

ตัวอย่างเช่น

  • =IF(A2>B2,"เกินงบ","ตกลง")

  • =IF(A2=B2,B4-A4,"")

ชื่ออาร์กิวเมนต์

คำอธิบาย

logical_test   

(จำเป็น)

เงื่อนไขที่คุณต้องการทดสอบ

Value_if_true   

(จำเป็น)

ค่าที่คุณต้องการให้ส่งกลับถ้าผลลัพธ์ของ logical_test เป็น TRUE

value_if_false   

(ไม่จำเป็น)

ค่าที่คุณต้องการให้ส่งกลับถ้าผลลัพธ์ของ logical_test เป็น FALSE

ข้อสังเกต

แม้ว่า Excel จะอนุญาตให้คุณซ้อนฟังก์ชัน IF ที่แตกต่างกันได้ถึง 64 ฟังก์ชัน แต่เราไม่แนะนําให้ทําเช่นนั้น เพราะเหตุใด

  • คําสั่ง IF ต้องใช้ความคิดจํานวนมากเพื่อสร้างอย่างถูกต้อง และตรวจสอบให้แน่ใจว่าตรรกะของคําสั่งสามารถคํานวณได้อย่างถูกต้องผ่านแต่ละเงื่อนไขไปจนถึงจุดสิ้นสุด ถ้าคุณไม่ซ้อนสูตรของคุณ 100% อย่างถูกต้อง แสดงว่าอาจทํางานได้ 75% ของเวลา แต่ให้ผลลัพธ์ที่ไม่คาดคิด 25% ของเวลา น่าเสียดายที่อัตราต่อรองที่คุณจับได้ 25% นั้นเพรียวบาง

  • คำสั่ง IF หลายรายการอาจทำให้การคำนวณเป็นเรื่องยากอย่างคาดไม่ถึง โดยเฉพาะเมื่อคุณย้อนกลับมาดูในภายหลังและพยายามทำความเข้าใจสิ่งที่คุณ หรืออาจเป็นคนอื่นพยายามทำ

ถ้าคุณพบคำสั่ง IF ที่ดูเหมือนไม่มีจุดสิ้นสุด คุณควรปล่อยเมาส์แล้ววางแผนกลยุทธ์ของคุณใหม่

มาดูวิธีการสร้างคำสั่ง IF แบบซ้อนทับที่ซับซ้อนโดยใช้คำสั่ง IF หลายคำสั่ง และเวลาที่ควรใช้เครื่องมืออื่นใน Excel ของคุณ

ตัวอย่าง

ต่อไปนี้คือตัวอย่างของคำสั่ง IF แบบซ้อนทับมาตรฐานเพื่อแปลงคะแนนสอบของนักเรียนให้เป็นเกรดที่เป็นตัวอักษร

คำสั่ง IF แบบซ้อนทับที่ซับซ้อน - สูตรใน E2 คือ =IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-",IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))
  • =IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

    คำสั่ง IF ที่ซ้อนกันอย่างซับซ้อนนี้ทำตามหลักตรรกะอย่างตรงไปตรงมา:

  1. ถ้าคะแนนสอบ (ในเซลล์ D2) มากกว่า 89 นักเรียนจะได้ A

  2. ถ้าคะแนนสอบมากกว่า 79 นักเรียนจะได้ B

  3. ถ้าคะแนนสอบมากกว่า 69 นักเรียนจะได้ C

  4. ถ้าคะแนนสอบมากกว่า 59 นักเรียนจะได้ D

  5. มิฉะนั้น นักเรียนจะได้ F

ตัวอย่างนี้ค่อนข้างปลอดภัยเนื่องจากไม่น่าจะมีความสัมพันธ์ระหว่างคะแนนการทดสอบและเกรดจดหมายจะเปลี่ยนไป ดังนั้นจึงไม่จําเป็นต้องบํารุงรักษามากนัก แต่นี่คือความคิด – จะเกิดอะไรขึ้นถ้าคุณต้องการแบ่งเกรดระหว่าง A+, A และ A- (และอื่นๆ) ตอนนี้คําสั่ง IF สี่เงื่อนไขของคุณจําเป็นต้องเขียนใหม่เพื่อให้มี 12 เงื่อนไข! สูตรของคุณจะมีลักษณะดังนี้ในตอนนี้:

  • =IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-", IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))

มันยังคงทํางานได้อย่างถูกต้องและจะทํางานได้ตามที่คาดไว้ แต่ใช้เวลานานในการเขียนและใช้เวลานานในการทดสอบเพื่อให้แน่ใจว่าจะทําสิ่งที่คุณต้องการ ปัญหาที่จ้าอีกประการหนึ่งคือคุณต้องป้อนคะแนนและเกรดตัวอักษรที่เทียบเท่ากันด้วยมือ อะไรคือโอกาสที่คุณจะพิมพ์ผิดโดยบังเอิญ ตอนนี้ลองนึกภาพพยายามที่จะทําเช่นนี้ 64 ครั้งกับเงื่อนไขที่ซับซ้อนมากขึ้น! แน่นอนว่ามันเป็นไปได้ แต่คุณต้องการจริงๆหรือไม่ที่จะต้องใช้ความพยายามเช่นนี้และข้อผิดพลาดที่อาจจะยากจริงๆหรือไม่?

เคล็ดลับ: ทุกฟังก์ชันใน Excel จําเป็นต้องมีวงเล็บเปิดและปิด () Excel จะพยายามช่วยให้คุณทราบว่าจะเกิดอะไรขึ้นโดยการลงสีส่วนต่างๆ ของสูตรเมื่อคุณกําลังแก้ไข ตัวอย่างเช่น ถ้าคุณจะแก้ไขสูตรด้านบน ขณะที่คุณย้ายเคอร์เซอร์ผ่านวงเล็บปิด ")" แต่ละวงเล็บเปิดที่สอดคล้องกันจะเปลี่ยนสีเดียวกัน ซึ่งจะมีประโยชน์อย่างยิ่งในสูตรที่ซ้อนกันที่ซับซ้อนเมื่อคุณกําลังพยายามหาว่าคุณมีวงเล็บที่ตรงกันเพียงพอหรือไม่

ตัวอย่างเพิ่มเติม

ต่อไปนี้คือตัวอย่างทั่วไปของการคำนวณค่าคอมมิชชั่นยอดขายโดยยึดตามระดับความสำเร็จของรายได้

สูตรในเซลล์ D9 คือ IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))
  • =IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))

สูตรนี้บอกว่า IF(C9 มากกว่า 15,000 จะส่งกลับ 20%, IF(C9 มากกว่า 12,500 จะส่งกลับ 17.5% และอื่นๆ...

แม้ว่าจะคล้ายกับตัวอย่างเกรดก่อนหน้าอย่างมาก สูตรนี้เป็นตัวอย่างที่ดีของความยากลําบากในการรักษาคําสั่ง IF ขนาดใหญ่ คุณต้องทําอย่างไรถ้าองค์กรของคุณตัดสินใจเพิ่มระดับการชดเชยใหม่ และอาจเปลี่ยนค่าดอลลาร์หรือเปอร์เซ็นต์ที่มีอยู่ คุณต้องมีงานมากมายในมือของคุณ!

เคล็ดลับ: คุณสามารถแทรกตัวแบ่งบรรทัดในแถบสูตรเพื่อให้อ่านสูตรที่ยาวได้ง่ายขึ้น เพียงกด ALT+ENTER ก่อนข้อความที่คุณต้องการตัดไปยังบรรทัดใหม่

นี่คือตัวอย่างของสถานการณ์ค่าคอมมิชชั่นที่มีการหยุดใช้งาน:

สูตรใน D9 ที่หยุดใช้งานคือ =IF(C9>5000,10%,IF(C9>7500,12.5%,IF(C9>10000,15%,IF(C9>12500,17.5%,IF(C9>15000,20%,0)))))

คุณเห็นไหมว่าเกิดอะไรขึ้น เปรียบเทียบลําดับของการเปรียบเทียบรายได้กับตัวอย่างก่อนหน้า แล้วอันนี้ไปทางไหนล่ะ ใช่แล้ว มันเริ่มจากด้านล่างขึ้น ($5,000 ถึง $15,000) ไม่ใช่วิธีอื่น แต่ทําไมมันต้องเป็นเรื่องใหญ่ด้วยล่ะ? เป็นเรื่องใหญ่เพราะสูตรไม่สามารถผ่านการประเมินค่าแรกสําหรับมูลค่ามากกว่า $5,000 ได้ สมมติว่าคุณมีรายได้ $12,500 – คําสั่ง IF จะส่งกลับ 10% เนื่องจากมากกว่า $5,000 และจะหยุดตรงนั้น นี่อาจเป็นปัญหาอย่างไม่น่าเชื่อเพราะในสถานการณ์มากมายข้อผิดพลาดประเภทนี้ไม่มีใครสังเกตเห็นจนกว่าข้อผิดพลาดเหล่านี้จะมีผลกระทบเชิงลบ ดังนั้นการรู้ว่ามีข้อบกพร่องร้ายแรงบางอย่างที่มีคําสั่ง IF ซ้อนกันที่ซับซ้อนคุณสามารถทําอะไรได้บ้าง ในกรณีส่วนใหญ่ คุณสามารถใช้ฟังก์ชัน VLOOKUP แทนการสร้างสูตรที่ซับซ้อนด้วยฟังก์ชัน IF เมื่อใช้ VLOOKUP คุณต้องสร้างตารางอ้างอิงก่อน:

สูตรในเซลล์ D2 คือ =VLOOKUP(C2,C5:D17,2,TRUE)
  • =VLOOKUP(C2,C5:D17,2,TRUE)

สูตรนี้ระบุให้ค้นหาค่าใน C2 ในช่วง C5:C17 ถ้าพบค่าให้ส่งกลับค่าที่สอดคล้องกันจากแถวเดียวกันในคอลัมน์ D

สูตรในเซลล์ C9 คือ =VLOOKUP(B9,B2:C6,2,TRUE)
  • =VLOOKUP(B9,B2:C6,2,TRUE)

ในทํานองเดียวกัน สูตรนี้จะค้นหาค่าในเซลล์ B9 ในช่วง B2:B22 ถ้าพบค่าให้ส่งกลับค่าที่สอดคล้องกันจากแถวเดียวกันในคอลัมน์ C

หมายเหตุ: VLOOKUP ทั้งสองตัวนี้ใช้อาร์กิวเมนต์ TRUE ที่ส่วนท้ายของสูตร ซึ่งหมายความว่าเราต้องการให้ค้นหาค่าที่ตรงกันโดยประมาณ กล่าวอีกนัยหนึ่งมันจะตรงกับค่าที่แน่นอนในตารางการค้นหารวมถึงค่าใด ๆ ที่อยู่ระหว่างพวกเขา ในกรณีนี้ ตารางการค้นหาจําเป็นต้องเรียงลําดับจากน้อยไปหามาก จากน้อยที่สุดไปหามากที่สุด

VLOOKUP มีรายละเอียดเพิ่มเติมที่นี่ แต่นี่เป็นสิ่งที่ง่ายกว่าคําสั่ง IF ที่ซ้อนกันแบบ 12 ระดับและซับซ้อน! และยังมีประโยชน์อื่นๆ อีกด้วย:

  • ตารางอ้างอิง VLOOKUP อยู่ในที่ที่มองเห็นได้ง่ายและดูได้ง่าย

  • ค่าในตารางจะถูกอัปเดตได้อย่างง่ายดายและคุณไม่จำเป็นต้องยุ่งกับสูตรอีกเลย ถ้าเงื่อนไขของคุณไม่เปลี่ยนแปลง

  • ถ้าคุณไม่ต้องการให้ผู้อื่นเห็นหรือยุ่งกับตารางอ้างอิงของคุณ ให้ใส่บนเวิร์กชีตอื่น

คุณทราบหรือไม่

ตอนนี้มี ฟังก์ชัน IFS ที่สามารถแทนที่คําสั่ง IF ซ้อนกันหลายคําสั่งด้วยฟังก์ชันเดียว ดังนั้น แทนที่จะเป็นตัวอย่างเกรดเริ่มต้นของเรา ซึ่งมีฟังก์ชัน IF ที่ซ้อนกัน 4 ฟังก์ชัน:

  • =IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

ซึ่งทำได้ง่ายด้วยฟังก์ชัน IFS เพียงฟังก์ชันเดียว

  • =IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")

ฟังก์ชัน IFS มีประโยชน์มากเนื่องจากคุณไม่ต้องกังวลเกี่ยวกับคำสั่ง IF และวงเล็บเหล่านั้นทั้งหมด

หมายเหตุ: ฟีเจอร์นี้จะพร้อมใช้งานถ้าคุณมีการสมัครใช้งาน Microsoft 365 เท่านั้น ถ้าคุณเป็นสมาชิก Microsoft 365ตรวจสอบให้แน่ใจว่าคุณมี Office เวอร์ชันล่าสุดซื้อหรือลองใช้ Microsoft 365

ต้องการความช่วยเหลือเพิ่มเติมไหม

คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community หรือรับการสนับสนุนใน ชุมชน

หัวข้อที่เกี่ยวข้อง

วิดีโอ: ฟังก์ชัน IF ขั้นสูงฟังก์ชัน IFS (Microsoft 365, Excel 2016 และใหม่กว่า)ฟังก์ชัน COUNTIF จะนับค่าตามเกณฑ์เดียวฟังก์ชัน COUNTIFS จะนับค่าตามเกณฑ์หลายเกณฑ์ฟังก์ชัน SUMIF จะรวมค่าตามเกณฑ์เดียวฟังก์ชัน SUMIFS จะรวมค่าตามเกณฑ์หลายเกณฑ์ฟังก์ชัน ANDฟังก์ชัน ORฟังก์ชัน VLOOKUPภาพรวมของสูตรใน Excelวิธีการหลีกเลี่ยงสูตรที่ใช้งานไม่ได้ตรวจหาข้อผิดพลาดในสูตรฟังก์ชันทางตรรกะฟังก์ชันของ Excel (เรียงลําดับตามตัวอักษร)ฟังก์ชัน Excel (ตามประเภท)

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย