เคล็ดการซ้อน IF

=IF(อายุ>=18, IF(สัญชาติ="ไทย","ผ่าน","ไม่ผ่าน"),"ไม่ผ่าน") .. มีสูตรที่ดีกว่า?

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

การใช้ IF ซ้อน IF นั้น Excel จะไล่เปรียบเทียบจาก IF ตัวนอกสุดหรือที่ยู่ทางซ้ายสุดก่อน แล้วจึงใช้เงื่อนไขใน IF ตัวถัดไป

ส่วนการใช้ And OR นั้น ทุกเงื่อนไขในวงเล็บ ถือว่ามีความสำคัญเท่ากัน

ปัญหาเรื่องอายุกับสัญชาตินี้ น่าจะเรียงเงื่อนไขจากสัญชาติก่อน ถ้าผ่านจึงดูที่อายุต่อ ตามแบบนี้
=IF(สัญชาติ="ไทย", IF(อายุ>=18, "ผ่าน","ไม่ผ่าน"),"ไม่ผ่าน")
เพราะในคูหาเลือกตั้ง ต้องหยิบบัตรประชาชนไทยขึ้นมาก่อน ถ้าไม่มีก็หมดสิทธิ์ แต่ถ้ามีบัตรจึงตรวจอายุต่อไป

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

การใช้ And OR ต้องระวังหากบางเงื่อนไขเกิด Error จะส่งผลให้ทั้งสูตรไม่ทำงาน แต่ถ้าใช้ IF ซ้อน IF แล้วมีบางเงื่อนไขเกิด Error ก็ยังทำงานได้ในเงื่อนไขอื่น


เวลาเจอสูตร IF ซ้อนกันให้มองแบบนี้

ทุก IF ที่ซ้อนกันต้องการคำตอบแบบเดียวกันใช่ไหม ถ้าใช้ให้ผ่าน แต่ถ้าไม่ใช่ ไม่ผ่าน

หากเจอแบบนี้ ไม่จำเป็นต้องใช้ IF ซ้อน IF แต่ให้ใช้สูตร IF เดียวโดยนำ And มาช่วยกลายเป็นแบบนี้

=IF( AND(อายุ>=18, สัญชาติ="ไทย"), "ผ่าน", "ไม่ผ่าน")

Excel ถือว่าเงื่อนไขที่อยู่ในวงเล็บของ And OR นั้นทุกเงื่อนไขจะนำมาหาคำตอบพร้อมกันทุกเงื่อนไขครับ
ระหว่าง

=IF(AND(อายุ>=18, สัญชาติ="ไทย"),"ผ่าน","ไม่ผ่าน") กับ
=IF(AND(สัญชาติ="ไทย",อายุ>=18),"ผ่าน","ไม่ผ่าน")

Excel ไม่ได้ทำงานต่างกัน แต่การใช้ IF ซ้อน IF จะมีลำดับการทำงานไล่ไปทีละตัวจาก IF ตัวนอกสุดก่อน

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234