Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า
 

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

ในบทช่วยสอนนี้ เราจะแสดงฟังก์ชัน Excel 7 รายการที่สามารถแทนที่คำสั่ง IF ได้

ลองพิจารณาชุดข้อมูลการขายตัวอย่างเพื่อแสดงการเปรียบเทียบสูตรแบบเทียบเคียงกัน

1. IFS() – จัดการหลายเงื่อนไขอย่างหรูหรา

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

ไวยากรณ์:

=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)

มาจัดประเภทมูลค่าใบสั่งขายเป็นคะแนนประสิทธิภาพกัน:

  • ยอดเยี่ยม สำหรับการสั่งซื้อมากกว่า $10,000
  • ดี สำหรับคำสั่งซื้อระหว่าง $5,000 ถึง $10,000
  • เฉลี่ย สำหรับคำสั่งซื้อระหว่าง $2,000 ถึง $5,000
  • ต่ำกว่าเป้าหมาย เพื่ออะไรก็ตามให้น้อยลง

หากแนวทาง:

=IF(J2>10000, "Excellent", IF(J2>5000, "Good", IF(J2>2000, "Average", "Below Target")))

แนวทางของไอเอฟเอส:

=IFS(J2>10000, "Excellent", J2>5000, "Good", J2>2000, "Average", TRUE, "Below Target")

ฟังก์ชัน IFS รับอาร์กิวเมนต์คู่หนึ่ง:

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

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ประโยชน์ที่ได้รับ:

  • ไม่มีวงเล็บที่ทำให้สับสน
  • อ่านและบำรุงรักษาง่าย
  • แสดงลำดับความสำคัญของเงื่อนไขอย่างชัดเจน

2. SWITCH() – เหมาะสำหรับการจับคู่แบบตรงทั้งหมด

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

ไวยากรณ์:

=SWITCH(expression, value1, result1, [value2, result2], ..., [default])

มามอบหมายผู้จัดการฝ่ายขายให้กับภูมิภาคกันเถอะ:

  • ตะวันออก:มอร์แกน สมิธ
  • ตะวันตก:เทย์เลอร์ หว่อง
  • ทิศเหนือ:เจมี โรดริเกซ
  • ทิศใต้:เคซีย์ จอห์นสัน

หากแนวทาง:

=IF(E2="East", "Morgan Smith", IF(E2="West", "Taylor Wong", IF(E2="North", "Jamie Rodriguez", IF(E2="South", "Casey Johnson", "Unassigned"))))

วิธีการเปลี่ยน:

=SWITCH(E2, "East", "Morgan Smith", "West", "Taylor Wong", "North", "Jamie Rodriguez", "South", "Casey Johnson", "Unassigned")
  • SWITCH ประเมินนิพจน์เทียบกับรายการค่า จากนั้นส่งคืนผลลัพธ์ที่สอดคล้องกับค่าแรกที่ตรงกัน
  • อาร์กิวเมนต์สุดท้ายทำหน้าที่เป็นค่าเริ่มต้นหากไม่พบรายการที่ตรงกัน

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

สังเกตว่าวิธีการ SWITCH สะอาดกว่าและอ่านง่ายกว่ามากเพียงใดเมื่อเปรียบเทียบกับคำสั่ง IF ที่ซ้อนกัน

ประโยชน์ที่ได้รับ:

  • กะทัดรัดและใช้งานง่าย
  • ขยายและเรียงลำดับใหม่ได้ง่ายขึ้น
  • ไม่จำเป็นต้องทำรัง

3. CHOOSE() – เลือกจากรายการตามตำแหน่ง

เมื่อตรรกะของคุณเกี่ยวข้องกับการเลือกจากรายการที่กำหนดไว้ล่วงหน้าตามตำแหน่งตัวเลข CHOOSE จะตรงไปตรงมามากกว่า IF ที่ซ้อนกัน

ไวยากรณ์:

=CHOOSE(index_num, value1, [value2], ...)

มาแปลงหมายเลขไตรมาสเป็นเดือนแรกในไตรมาสนั้น:

หากแนวทาง:

=IF(F2=1, "January", IF(F2=2, "April", IF(F2=3, "July", IF(F2=4, "October", "Invalid Quarter"))))

เลือกแนวทาง:

=CHOOSE(F2, "January", "April", "July", "October")
  • CHOOSE ส่งกลับค่าจากรายการตามหมายเลขตำแหน่ง
  • ไม่เหมือนกับ IF ตรงที่ไม่ได้ประเมินเงื่อนไข แต่เลือกรายการจากรายการที่ให้ไว้ตามค่าดัชนี

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

นอกจากนี้เรายังสามารถใช้ CHOOSE เพื่อกำหนดเป้าหมายการขายรายไตรมาสตามหมายเลขไตรมาส:

=CHOOSE(F2, 50000, 75000, 60000, 90000)

ซึ่งจะกำหนดเป้าหมายการขายที่แตกต่างกันตามไตรมาส

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ประโยชน์ที่ได้รับ:

  • สั้นและชัดเจนยิ่งขึ้นเมื่อมี 3+ ตัวเลือก
  • โอกาสที่จะเกิดข้อผิดพลาดทางตรรกะน้อยลง
  • อัปเดตหรือเรียงลำดับใหม่ได้ง่ายขึ้น

4. XLOOKUP – การตัดสินใจตามตาราง

เมื่อทำการตัดสินใจตามช่วงของค่าหรือตารางการค้นหา ฟังก์ชัน LOOKUP จะมีประสิทธิภาพมากกว่า IF ที่ซ้อนกัน ฟังก์ชัน XLOOKUP ค้นหาค่าและส่งกลับผลลัพธ์ที่สอดคล้องกันจากอาร์เรย์อื่น

ไวยากรณ์:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

มาสร้างโครงสร้างค่าคอมมิชชันตามหมวดหมู่ผลิตภัณฑ์กันดีกว่า:

  • อิเล็กทรอนิกส์:5%
  • เฟอร์นิเจอร์:7%
  • อื่นๆ:4%

หากแนวทาง:

=IF(C2="Electronics", J2*0.05, IF(C2="Furniture", J2*0.07, J2*0.04))

แนวทาง XLOOKUP (Modern Excel):

=J2*XLOOKUP(C2, $P$2:$P$4, $Q$2:$Q$4, 0.04)

สูตรนี้จะค้นหามูลค่าคำสั่งซื้อตามหมวดหมู่และอัตราค่าคอมมิชชัน จากนั้นคำนวณค่าคอมมิชชั่นการขาย

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ประโยชน์ที่ได้รับ:

  • ทำงานได้ดีกับตารางข้อมูล
  • อ่านง่ายขึ้นด้วยรายการที่ยาวขึ้น
  • ยืดหยุ่น (สามารถรวมทางเลือกเริ่มต้นได้)

5. และ()/หรือ() – การรวมหลายเงื่อนไข

เมื่อต้องตรงตามเงื่อนไขหลายข้อ (AND) หรือต้องตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อ (OR) ฟังก์ชันเหล่านี้จะทำให้สูตรของคุณง่ายขึ้น ฟังก์ชัน AND จะส่งกลับค่า TRUE หากเงื่อนไขทั้งหมดเป็นจริง ฟังก์ชัน OR จะคืนค่า TRUE หากเงื่อนไขใดๆ เป็นจริง

ไวยากรณ์:

=AND(logical1, [logical2], ...)
=OR(logical1, [logical2], ...)

มาตั้งค่าสถานะคำสั่งซื้อเป็น "ลำดับความสำคัญ" หาก:

  • พวกมันคืออิเล็กทรอนิกส์ คำสั่งซื้อ และ
  • มูลค่าการสั่งซื้อมากกว่า $5,000 , และ
  • สถานะคือ กำลังประมวลผล .

หากแนวทาง:

=IF(C2="Electronics", IF(J2>5000, IF(K2="Processing", "Priority", "Normal"), "Normal"), "Normal")

และแนวทาง:

=IF(AND(C2="Electronics", J2>5000, K2="Processing"), "Priority", "Normal")

สูตรนี้ส่งคืนลำดับความสำคัญตามประเภทและสถานะ เงื่อนไขทั้งสองต้องเป็น TRUE

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

มาระบุคำสั่งซื้อที่มีสิทธิ์ได้รับส่วนลดเพิ่มเติมหาก:

  • พวกเขามาจากตะวันตก ภูมิภาค หรือ
  • คำสั่งซื้อมีมากกว่า 10 หน่วยหรือ
  • ส่วนลดปัจจุบันคือ 0% .

หรือแนวทาง:

=IF(OR(E2="West", G2>10, I2=0), "Eligible for Discount", "Not Eligible")

แนวทางนี้ทำให้ตรรกะชัดเจนขึ้นและง่ายต่อการรักษา โดยเฉพาะอย่างยิ่งเมื่อเงื่อนไขซับซ้อนมากขึ้น

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ประโยชน์ที่ได้รับ:

  • นิพจน์ตรรกะที่สะอาดยิ่งขึ้น
  • แก้ไขเงื่อนไขได้ง่ายขึ้น
  • ทำงานได้ดีภายใน IF, FILTER ฯลฯ

6. MIN()/MAX() – ลดความซับซ้อนของข้อจำกัดช่วง

เมื่อเปรียบเทียบตัวเลขสองตัว MIN/MAX จะขจัดความจำเป็นในการแยกย่อยแบบมีเงื่อนไข ฟังก์ชัน MIN ส่งกลับค่าที่น้อยที่สุดจากช่วงที่เลือก ฟังก์ชัน MAX ส่งกลับตัวเลขที่มากที่สุดจากช่วงที่เลือก

ไวยากรณ์:

=MIN(number1, [number2], ...)
=MAX(number1, [number2], ...)

ลองใช้นโยบายโดยที่:

  • ปริมาณการสั่งซื้อขั้นต่ำสำหรับผลิตภัณฑ์ใดๆ คือ 5 หน่วย.
  • ปริมาณการสั่งซื้อสูงสุดสำหรับผลิตภัณฑ์ใดๆ คือ 20 หน่วย.
  • คำสั่งซื้อที่อยู่นอกขีดจำกัดเหล่านี้จำเป็นต้องได้รับการปรับเปลี่ยน

หากแนวทาง:

=IF(G2<5, 5, IF(G2>20, 20, G2))

แนวทาง MIN/MAX:

สูตรนี้ช่วยให้มั่นใจว่าค่าจะอยู่ระหว่าง 5 ถึง 20 โดยไม่จำเป็นต้องใช้คำสั่ง IF ที่ซ้อนกัน

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ลองใช้นโยบายส่วนลดโดยที่:

  • มีการใช้เปอร์เซ็นต์ส่วนลดปกติกับคำสั่งซื้อ
  • ส่วนลดสูงสุดต้องไม่เกิน $1,500 โดยไม่คำนึงถึงเปอร์เซ็นต์
  • ราคาสุดท้ายต้องไม่ต่ำกว่า $500 .

คำนวณราคาสุดท้ายหลังจากใช้ข้อจำกัดเหล่านี้:

หากแนวทาง:

=IF(J2-((J2*I2)/100)<500, 500, IF((J2*I2)/100>1500, J2-1500, J2-((J2*I2)/100)))

แนวทาง MIN/MAX:

=MAX(500, J2-MIN(1500, J2*I2/100))

แนวทางนี้ใช้งานง่ายกว่าและเข้าใจง่ายกว่าคำสั่ง IF ที่ซ้อนกัน

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ประโยชน์ที่ได้รับ:

  • กระชับและเชื่อถือได้
  • เหมาะสำหรับตัวพิมพ์ใหญ่ พื้น และตรรกะการกำหนดราคา

7. FILTER() – ผลลัพธ์แบบมีเงื่อนไขแบบไดนามิก (Excel 365+)

FILTER เป็นฟังก์ชันที่มีประสิทธิภาพซึ่งส่งคืนค่าตามเกณฑ์ที่ระบุ โดยแทนที่คำสั่ง IF ที่ซับซ้อนซึ่งตรวจสอบหลายเงื่อนไขได้อย่างมีประสิทธิภาพ

ไวยากรณ์:

=FILTER(array, include, [if_empty])

มาสร้างรายงานแบบไดนามิกจากข้อมูลการขายของเรากันดีกว่า ค้นหาคำสั่งซื้ออุปกรณ์อิเล็กทรอนิกส์ทั้งหมดที่มีมูลค่ามากกว่า $5,000

วิธี IF (สำหรับแถวเดียว):

=IF(AND(C2="Electronics", J2>5000), B2, "")

สิ่งนี้จะต้องถูกคัดลอกลงสำหรับทุกแถว ทำให้เกิดผลลัพธ์ที่กระจัดกระจาย

วิธีการกรอง:

=FILTER(B2:B13, (C2:C13="Electronics")*(J2:J13>5000), "No matching products")

สูตรนี้กรองผลิตภัณฑ์จากอุปกรณ์อิเล็กทรอนิกส์ประมาณ

แทนที่คำสั่ง IF ใน Excel:7 ฟังก์ชั่นอันทรงพลังสำหรับสูตรที่สะอาดกว่า

ฟังก์ชัน FILTER สามารถรวมหลายเงื่อนไขและส่งกลับบันทึกที่ตรงกันทั้งหมด ทำให้เหมาะสำหรับการสร้างรายงานแบบไดนามิกตามเงื่อนไขโดยไม่มีตรรกะ IF ที่ซับซ้อน มีประสิทธิภาพเป็นพิเศษสำหรับงานวิเคราะห์ข้อมูลที่คุณต้องกรองและนำเสนอข้อมูลตามเกณฑ์หลายเกณฑ์

บทสรุป

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

รับแบบฝึกหัด Excel ขั้นสูงพร้อมโซลูชันฟรี!