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

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

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

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

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

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

คำสั่ง 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 จะอนุญาตให้คุณสามารถซ้อนได้ถึง 64 ฟังก์ชัน IF ที่แตกต่างกัน นั้นไม่ได้เลยคุณควรทำเช่นนั้นได้ เหตุใดได้อย่างไร

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

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

ถ้าคุณพบคำสั่ง 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"))))))))))))

นั้นถูกต้องฟังก์ชันยังคง และจะทำงานตามที่คาด ก่อนหน้านี้ แต่จะใช้เวลานานในการเขียน และนานขึ้นถึงจะทดสอบเพื่อให้แน่ใจว่า ทำสิ่งที่คุณต้องการ ปัญหา glaring อื่นได้ว่า คุณมีการใส่คะแนนและเกรดตัวอักษรที่เทียบเท่ากันด้วยตนเอง โอกาสว่า คุณจะไม่ได้ตั้งใจมีรหัสคืออะไร ขณะนี้ สมมติพยายามทำครั้งที่ 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% และอื่นๆ...

ในขณะนั้นของ remarkably คล้ายคลึงกับเวอร์ชันก่อนหน้าที่เกรดตัวอย่าง สูตรนี้คือ ตัวอย่างดีของฉันได้ยากจะทำการรักษาคำสั่ง 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)))))

คุณสามารถดูว่าอะไรผิดพลาดได้อย่างไร เปรียบเทียบลำดับของการเปรียบเทียบรายได้ตัวอย่างก่อนหน้านี้ วิธีที่จะรวดนี้หนึ่งได้อย่างไร Right มันจากล่างขึ้น ($5000 เพื่อ $15000), ไม่อื่น ๆ ตามล้อมรอบที่อยู่ แต่ทำไมที่ควรดังกล่าวเป็นบิ๊กข้อตกลง จึงเป็นข้อตกลงบิ๊กเนื่องจากสูตรไม่สามารถส่งการประเมินแรกสำหรับค่าใด ๆ ที่มากกว่า $5000 ด้วยเช่นกัน สมมติว่า คุณมี $12500 ในรายได้-คำสั่ง IF จะส่งกลับ 10% เนื่องจากนั้นมีค่ามากกว่า $5000 และที่จะหยุดมี ซึ่งอาจเป็นปัญหา incredibly เนื่องจากในหลายสถานการณ์ ชนิดของข้อผิดพลาดเหล่านี้ไป unnoticed จนกว่าพวกเขามีเท่าใด เพื่อให้ทราบที่มี บางอย่างอยู่ร้ายแรงกับคำสั่ง 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

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

ฟังก์ชัน VLOOKUP จะครอบคลุมในรายละเอียดเพิ่มเติมนี่แต่นี่คือแน่ใจว่ามากมายง่ายกว่า 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 และวงเล็บเหล่านั้นทั้งหมด

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

ทดลองใช้ Office 365 หรือ Excel เวอร์ชันล่าสุด

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

คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community ขอความช่วยเหลือใน Answers community หรือแนะนำฟีเจอร์ใหม่หรือการปรับปรุงบน Excel User Voiceได้เสมอ

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

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

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×