วิธีใช้คำสั่ง IF หลายรายการใน Microsoft Excel
เครดิตรูปภาพ: ภาพธุรกิจลิง / iStock / GettyImages
คำสั่ง IF ใน Excel เรียกใช้การทดสอบเชิงตรรกะที่คืนค่าหนึ่งค่าหากตรงตามเงื่อนไขและอีกค่าหนึ่งหากไม่ตรงตามเงื่อนไข การใช้คำสั่ง Excel IF คำสั่งเดียวสามารถรองรับการดำเนินการพื้นฐานได้เท่านั้น แต่ถ้าคุณซ้อนคำสั่ง IF หลายรายการ คุณสามารถทำงานที่ซับซ้อนได้ ข้อเสียเพียงอย่างเดียวคือคุณต้องระมัดระวังในการสร้างสูตรเพื่อหลีกเลี่ยงข้อผิดพลาด ฟังก์ชันทางเลือกของ Excel สามารถทำงานเดียวกันได้โดยมีความเสี่ยงน้อยกว่าที่จะเกิดข้อผิดพลาด เรียนรู้พื้นฐานของคำสั่ง IF ที่ซ้อนกันใน Excel และทางเลือกอื่นๆ เพื่อค้นหาแนวทางที่ดีที่สุดสำหรับความต้องการของคุณ
ทำความเข้าใจกับคำสั่ง Excel IF
ฟังก์ชัน IF ใน Excel บอกว่า "ถ้านี่เป็นความจริง ให้คืนค่า x แต่ถ้าไม่ใช่ ให้คืนค่า y" ตัวอย่างเช่น หากคุณกำลังตรวจสอบดูว่าแผนกต่างๆ ในธุรกิจของคุณหรือไม่ ต่ำกว่าหรือเกินงบประมาณ คุณสามารถเปรียบเทียบรายจ่ายกับงบประมาณโดยใช้ฟังก์ชันและให้ส่งคืน "เกินงบประมาณ" หากแผนกใช้มากเกินไปหรือ "อยู่ในงบประมาณ" หาก ไม่ได้ โดยทั่วไป คุณใช้ตัวดำเนินการเปรียบเทียบเพื่อสร้างคำสั่งของคุณ เช่น:
วิดีโอประจำวันนี้
- = (เท่ากับ)
(มากกว่า)
= (มากกว่าหรือเท่ากับ)
- < (เล็กกว่า)
- <= (น้อยกว่าหรือเท่ากับ)
- <> (ไม่เท่ากับ)
การทำความเข้าใจไวยากรณ์ของคำสั่ง Excel IF เป็นขั้นตอนสำคัญในการเรียนรู้การใช้อย่างถูกต้อง รูปแบบของฟังก์ชันคือ IF(logical_test, value_if_true, [value_if_false]) โดยที่วงเล็บเหลี่ยมระบุว่าอาร์กิวเมนต์สุดท้ายนี้เป็นทางเลือก สิ่งเหล่านี้ง่ายต่อการตีความ: The logic_test หมายถึงข้อความที่คุณต้องการทดสอบ value_if_true คือจุดที่คุณต้องการให้ Excel แสดงว่าการทดสอบนั้นเป็นจริงหรือไม่ และ [value_if_false] เป็นจุดตัวเลือกสำหรับสิ่งที่คุณต้องการให้ Excel แสดงหากการทดสอบเป็นเท็จ
นี้เพียงพอสำหรับคุณที่จะใช้สูตร Excel สำหรับคำสั่ง if-then ซึ่งสามารถแสดงให้เห็นได้โดยใช้ตัวอย่าง "เกินงบประมาณ/ภายในงบประมาณ" จากก่อนหน้านี้ ลองนึกภาพคุณมีจำนวนเงินที่แผนกต่างๆ ใช้ไปในคอลัมน์ B และจำนวนเงินที่จัดทำงบประมาณในคอลัมน์ C โดยมีค่าเริ่มต้นที่แถวที่สอง ในเซลล์ D2 คุณจะต้องพิมพ์ =IF(B2>C2, "เกินงบ", "อยู่ในงบ") เพื่อส่งคืนผลลัพธ์ที่คุณต้องการ (โดยสังเกตว่าคุณต้องใช้เครื่องหมายอัญประกาศเพื่อส่งคืนข้อความภายใน) ส่วนแรกบอกว่า "ถ้าค่าใน B2 มากกว่าค่าใน C2" (ถ้ารายจ่ายมากกว่างบประมาณ) ส่วนที่สองบอกว่า "แล้วส่งคืนข้อความ เกินงบประมาณ และส่วนที่สามบอกว่า "ถ้าไม่ใช่ก็กลับ ภายในงบประมาณ."
การซ้อนคำสั่ง IF หลายรายการ
การใช้เครื่องมือคำสั่ง Excel IF ให้เกิดประโยชน์สูงสุดหมายความว่าคุณสามารถรวมคำสั่ง IF หลายรายการได้เมื่อคุณมีงานที่เหมาะสม คุณสามารถรวมคำสั่ง IF ที่สองไว้ในคำสั่ง IF เดิมของคุณ และคุณสามารถรวมคำสั่ง IF อื่นภายในคำสั่ง IF ต่อไปได้ สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณต้องการจัดหมวดหมู่บางสิ่งให้เป็นกลุ่มใดกลุ่มหนึ่งโดยใช้สูตรเดียว ตัวอย่างเช่น คุณสามารถใช้คำสั่ง IF ที่ซ้อนกันเพื่อแปลงคะแนนที่นักเรียนทำการทดสอบให้เป็นเกรดได้
หากต้องการใช้คำสั่ง IF หลายรายการอย่างถูกต้อง ให้คิดถึงตรรกะของสิ่งที่คุณขอให้ Excel ทำ โดยพื้นฐานแล้ว หลังจากเงื่อนไขของคุณ (อาร์กิวเมนต์แรกในฟังก์ชัน) คุณสามารถเพิ่มคำสั่ง IF อื่นลงใน value_if_true หรือ value_if_false ช่องว่างเพื่อบอก Excel ว่าต้องทำอะไรต่อไป คิดว่านี่เป็นการทำให้ Excel ตรวจสอบเซลล์กับเกณฑ์ที่สองหากเซลล์ที่เป็นปัญหาไม่ ตรงตามเกณฑ์แรก (หรือจริง ๆ แล้วถ้าตรงตามเกณฑ์แรก) และคุณสามารถดำเนินการตามขั้นตอนนี้ต่อไปได้นาน เวลา. กล่าวอีกนัยหนึ่งคุณกำลังเปลี่ยน "ถ้านี่แล้วนั่น" เป็น "ถ้านี่ และ นี่ แล้วก็อันนั้น" หรือ "ถ้าไม่ใช่นี่แต่นี่ อันนั้น"
ตัวอย่างฟังก์ชัน IF ที่ซ้อนกัน
ลองนึกภาพว่าคุณได้ทำการทดสอบกับนักเรียนโดยได้คะแนน 85 เปอร์เซ็นต์ขึ้นไปเป็น A ระหว่าง 70 ถึง 85 เปอร์เซ็นต์ คือ B ระหว่าง 55 ถึง 70 เปอร์เซ็นต์คือ C ระหว่าง 40 เปอร์เซ็นต์ถึง 55 เปอร์เซ็นต์คือ D และอะไรที่ต่ำกว่าคือ a ล้มเหลว. คะแนนอยู่ในคอลัมน์ B จากแถวที่ 2 ถึงแถวที่ 11 คุณสามารถใช้ฟังก์ชัน Excel IF ที่สร้างขึ้นอย่างระมัดระวังโดยมีเงื่อนไขหลายข้อเพื่อจัดหมวดหมู่คะแนนของนักเรียน
ส่วนแรกนั้นง่าย (สำหรับคะแนนใน B2 ในตัวอย่างนี้): =IF(B2>=85, "A") บอกให้ Excel ส่งคืน A หากนักเรียนได้คะแนน 85 ขึ้นไป การซ้อนทำให้คุณสามารถเพิ่มเกรดอื่นๆ โดยใช้อาร์กิวเมนต์ที่สาม (จะทำอย่างไรถ้าเงื่อนไขเป็นเท็จ) เพื่อเพิ่มเงื่อนไขเพิ่มเติม: =IF(B2>=85, "A", IF(B2>=70, "B"))ซึ่งบอกให้ Excel ส่งคืน A สำหรับคะแนน 85 หรือสูงกว่า แต่ถ้าไม่ใช่ ให้ส่งคืน B หากคะแนนมากกว่า 70 ดำเนินการต่อในลักษณะนี้เพื่อกรอกสูตร โดยใช้อาร์กิวเมนต์ที่สามสำหรับคำสั่ง IF ใหม่ทุกครั้ง: =IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Fail")) ))
มันดูซับซ้อน ดังนั้นการแตกสลายควรประสานความคิด อาร์กิวเมนต์สองข้อแรกกล่าวว่า "ถ้าคะแนนใน B2 เท่ากับ 85 หรือมากกว่า นักเรียนจะได้ A" และข้อที่สามกล่าวว่า "มิฉะนั้น ให้ตรวจสอบเงื่อนไขต่อไปนี้" ดิ IF ที่สองนำไปสู่ข้อความนี้ "(สำหรับนักเรียนที่ให้คะแนนน้อยกว่า 85) ถ้าคะแนนใน B2 เท่ากับ 70 ขึ้นไป นักเรียนจะได้ B และถ้าไม่ตรวจสอบ เงื่อนไขต่อไปนี้" IF ที่สามกล่าวว่า "(สำหรับนักเรียนที่คะแนนน้อยกว่า 70) ถ้าคะแนนใน B2 เท่ากับ 55 หรือสูงกว่า นักเรียนได้คะแนน C และถ้าไม่ใช่ให้ตรวจสอบ เงื่อนไขต่อไปนี้” และข้อที่สี่ว่า “(สำหรับนักเรียนที่คะแนนน้อยกว่า 55) ถ้าคะแนนใน B2 มากกว่า 40 นักเรียนจะได้ D ถ้าไม่ นักเรียน ล้มเหลว"
รหัสข้อผิดพลาดสำหรับคำสั่ง IF
หากคุณป้อนสูตรสำหรับคำสั่ง IF อย่างถูกต้อง มันจะส่งคืนหนึ่งในตัวเลือกที่คุณกำหนดให้กับ Excel อย่างไรก็ตาม หากคุณทำผิดพลาด สูตรอาจส่งคืน a 0 หรือ #ชื่อ? ในเซลล์ที่มีสูตรของคุณ
NS 0 ข้อผิดพลาดหมายความว่าทั้ง value_if_true หรือ value_if_false อาร์กิวเมนต์ว่างเปล่า แก้ไขปัญหานี้โดยตรวจสอบให้แน่ใจว่ามีการป้อนค่าในอาร์กิวเมนต์ทั้งสองหรืออย่างน้อยใน value_if_true การโต้แย้ง. ดิ value_if_false อาร์กิวเมนต์สามารถลบออกได้อย่างสมบูรณ์ และจะส่งกลับ FALSE ถ้าคุณไม่ใส่เครื่องหมายจุลภาคที่สองต่อจาก value_if_true สนาม.
NS #ชื่อ? error บอกคุณว่าคุณอาจสะกดผิดหรือพิมพ์ผิดบางอย่างในสูตร วิธีนี้อาจแก้ไขได้ยากกว่าเล็กน้อย เนื่องจากอาจเป็นส่วนใดก็ได้ของสูตร แต่คำแนะนำที่ดีที่สุดคือตรวจสอบทุกอย่างอีกครั้งหรือเขียนสูตรอีกครั้ง
ปัญหาทั่วไปเกี่ยวกับคำสั่ง IF ที่ซ้อนกัน
ตัวอย่างก่อนหน้า สูตรฟังก์ชัน IF ที่ซ้อนกันนั้นค่อนข้างยาว ซึ่งเป็นหนึ่งในข้อเสียที่สำคัญของการใช้คำสั่ง IF หลายรายการใน Excel สิ่งเหล่านี้อาจซับซ้อนและง่ายต่อการทำผิดพลาดเพราะคุณต้องปฏิบัติตามตรรกะอย่างระมัดระวังเพื่อให้แน่ใจว่าทุกอย่างทำงานในลักษณะที่คุณตั้งใจ Microsoft ชี้ให้เห็นว่าสูตรที่ซ้อนกันอย่างไม่ถูกต้องอาจส่งกลับผลลัพธ์ที่ถูกต้องเป็นส่วนใหญ่ แต่ให้ผลลัพธ์ที่ไม่ถูกต้องในบางครั้ง สิ่งเหล่านี้ยากที่จะมองเห็น
การไม่วางเงื่อนไขในลำดับที่ถูกต้องถือเป็นความผิดพลาดทั่วไป ในตัวอย่างการทดสอบให้คะแนน หากคุณเริ่มต้นด้วยคะแนนที่ต่ำกว่า =IF(B2>=40, "ด", …" และดำเนินการรายชื่อคนอื่นๆ ตามลำดับจากน้อยไปมาก แม้แต่คะแนน 100 ก็ยังให้ D กลับมา นี่เป็นเพราะเงื่อนไขแรกจะถูกตรวจสอบก่อน ดังนั้นหากคุณเริ่มต้นด้วย "ถ้าเซลล์ B2 เป็น 40 หรือสูงกว่า ให้คืนค่า a D" จะจัดเกรด 40 ขึ้นไปเป็น D โดยไม่ตรวจอย่างอื่นเลยเพราะเข้ารอบแรก สภาพ. นี่เป็นตัวอย่างที่ดีว่าทำไมคุณจึงต้องทำตามตรรกะของสูตรของคุณ
คุณต้องแน่ใจว่าคุณเพิ่มจำนวนวงเล็บที่ถูกต้องที่ส่วนท้ายของคำสั่ง IF หลายรายการเพื่อปิดสูตรอย่างเหมาะสม Excel ช่วยคุณได้ด้วยการประสานงานสีและเน้นวงเล็บในขณะที่คุณทำงาน
จำนวนสูงสุดของ IF ที่ซ้อนกัน
ในทางเทคนิค คุณสามารถซ้อนฟังก์ชัน IF ได้ถึง 64 ฟังก์ชันในสูตรเดียว แต่ Microsoft ไม่แนะนำให้ใช้ฟังก์ชันนี้ด้วยเหตุผลข้างต้น สิ่งต่างๆ ซับซ้อนขึ้นอย่างรวดเร็ว และเป็นไปได้ว่า หากคุณกำลังพยายามซ้อนคำสั่ง IF มากกว่า 10 รายการ อาจมีเครื่องมือที่ดีกว่าสำหรับงานที่รวมอยู่ใน Excel แล้ว
ฟังก์ชัน IFS ใน Excel
ทางเลือกที่สะดวกที่สุดสำหรับฟังก์ชัน IF คือฟังก์ชัน IFS ซึ่งเป็นเวอร์ชันของ ฟังก์ชันที่ทำงานเหมือนกับการซ้อนในฟังก์ชันเดียวและสามารถรองรับได้ถึง127 เงื่อนไข. ฟังก์ชัน IFS มีไวยากรณ์ที่ง่ายกว่า: =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3]…) และอื่นๆ โดยพื้นฐานแล้ว การทำงานนี้เหมือนกับคำสั่ง IF ที่ซ้อนกัน ยกเว้นคำสั่ง IF ที่ตามมาจะใช้พื้นที่ว่างหลัง "value if true" โดยไม่จำเป็นต้องเรียกใช้ฟังก์ชันอีกครั้ง
สูตรในตัวอย่างเกรดทดสอบสามารถเขียนได้ง่ายกว่ามากด้วยฟังก์ชัน IFS แทน:
=IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Fail")) ))
เพียงแค่เขียน
=IFS(B2>=85, "A", B2>=70, "B", B2>=55, "C", B2>=40, "D", TRUE, "Fail")
ดิ จริง ในจุดก่อนหน้าล่าสุดพูดว่า "ถ้าไม่พบค่าอื่นใดให้คืนค่าถัดไป"
ฟีเจอร์นี้พร้อมใช้งานใน Excel 2019 หรือ Excel for Office 365 เท่านั้น
ฟังก์ชัน VLOOKUP
ฟังก์ชัน VLOOKUP ใน Excel มักจะเป็นทางเลือกที่ง่ายกว่าสำหรับคำสั่ง IF หลายคำสั่ง และพร้อมใช้งานใน Excel เวอร์ชันใดก็ได้ตั้งแต่ปี 2007 เป็นต้นไป ไม่เหมาะสำหรับทุกสถานการณ์เนื่องจากอาจส่งคืนผลลัพธ์สำหรับการจับคู่แบบตรงทั้งหมดหรือสำหรับ ใกล้เคียงที่สุด จึงไม่สามารถนำมาใช้สำหรับเกรดเหมือนตัวอย่างที่แล้ว อย่างไรก็ตาม ในหลาย ๆ สถานการณ์ สามารถช่วยคุณประหยัดเวลาในการเขียนสูตรได้มาก แม้ว่าคุณจะต้องสร้างตารางที่มีค่าที่เป็นไปได้ในหนึ่งเดียว คอลัมน์ เช่น ผลิตภัณฑ์ที่ร้านค้าของคุณขาย และสิ่งที่คุณต้องการให้ฟังก์ชันส่งคืน เช่น ราคาของผลิตภัณฑ์ ในคอลัมน์อื่น ตัวอย่าง.
ไวยากรณ์สำหรับ VLOOKUP คือ =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) และการเรียนรู้องค์ประกอบแต่ละอย่างจะแสดงวิธีใช้งาน ดิ lookup_value อาร์กิวเมนต์คือค่าที่คุณต้องการตรวจสอบ ซึ่งจะต้องเป็นเซลล์ในคอลัมน์เดียวกับจุดเริ่มต้นของตารางที่คุณต้องการตรวจสอบ ไม่ว่าจะด้านบนหรือด้านล่าง ดิ table_array คือช่วงของเซลล์ที่มีตารางข้อมูลของคุณ เช่น ผลิตภัณฑ์และราคาที่เกี่ยวข้อง และ col_index_num คือคอลัมน์ที่คุณต้องการให้ Excel ค้นหาเพื่อค้นหาค่าที่จะส่งคืนด้วย 1 ระบุคอลัมน์ซ้ายสุด 2 ระบุอันถัดไปเป็นต้น ในที่สุด, [range_lookup] เป็นทางเลือก แต่ป้อน "TRUE" ถ้าคุณต้องการให้ Excel สร้างคำตอบจากค่าที่ใกล้เคียงที่สุดหรือ "FALSE" หากคุณต้องการเพียงการจับคู่แบบตรงทั้งหมด