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

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

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

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

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

Syntax:

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

ลองจัดประเภทค่าออเดอร์ขายเป็นเกรดประสิทธิภาพ:

  • Excellent สำหรับออเดอร์เกิน $10,000
  • Good สำหรับออเดอร์ $5,000 - $10,000
  • Average สำหรับออเดอร์ $2,000 - $5,000
  • Below Target สำหรับน้อยกว่านั้น

วิธี IF:

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

วิธี IFS:

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

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

ข้อดี: ไม่มีวงเล็บซ้อน อ่านง่าย ดูแลง่าย แสดงลำดับความสำคัญของเงื่อนไขชัดเจน

2. SWITCH() – เหมาะสำหรับการจับคู่ที่แน่นอน

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

Syntax:

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

ลองกำหนด Sales Manager ให้แต่ละ Region:

  • East: Morgan Smith
  • West: Taylor Wong
  • North: Jamie Rodriguez
  • South: Casey Johnson

วิธี IF:

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

วิธี SWITCH:

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

SWITCH ประเมิน expression ต่อรายการค่า แล้วคืนผลลัพธ์ที่ตรงกับค่าแรกที่เจอ อาร์กิวเมนต์ตัวสุดท้ายเป็นค่า default ถ้าไม่มีค่าไหนตรง

ข้อดี: กระชับ เข้าใจง่าย ขยายและเรียงลำดับง่าย ไม่ต้อง nesting

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

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

Syntax:

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

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

วิธี IF:

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

วิธี CHOOSE:

=CHOOSE(F2, "January", "April", "July", "October")

CHOOSE คืนค่าจากรายการตามหมายเลขตำแหน่ง ต่างจาก IF ที่ประเมินเงื่อนไข มันเลือกไอเท็มจากรายการที่ให้มา ตามค่า index

เราสามารถใช้ CHOOSE กำหนดเป้าหมายยอดขายรายไตรมาสตามหมายเลขไตรมาสได้อีกด้วย:

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

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

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

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

Syntax:

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

ลองสร้างโครงสร้างคอมมิชชันตามหมวดหมู่สินค้า:

  • Electronics: 5%
  • Furniture: 7%
  • Other: 4%

วิธี IF:

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

วิธี XLOOKUP (Excel สมัยใหม่):

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

สูตรนี้ค้นหาอัตราคอมมิชชันตาม Category แล้วคำนวณคอมมิชชันขาย

ข้อดี: ทำงานดีกับตารางข้อมูล อ่านง่ายกว่ารายการยาว ยืดหยุ่น (รองรับ default fallback)

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

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

Syntax:

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

ลอง Flag ออเดอร์เป็น "Priority" ถ้า:

  • เป็นออเดอร์ Electronics และ
  • มูลค่าออเดอร์เกิน $5,000 และ
  • สถานะเป็น Processing

วิธี IF:

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

วิธี AND:

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

ลองระบุออเดอร์ที่มีสิทธิ์ได้ส่วนลดเพิ่ม ถ้า:

  • มาจากภูมิภาค West หรือ
  • ออเดอร์มากกว่า 10 หน่วย หรือ
  • ส่วนลดปัจจุบันเป็น 0%

วิธี OR:

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

ข้อดี: นิพจน์ตรรกะสะอาดกว่า ปรับเปลี่ยนเงื่อนไขง่าย ทำงานดีภายใน IF, FILTER ฯลฯ

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

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

Syntax:

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

ลองนำนโยบายมาใช้:

  • จำนวนสั่งซื้อขั้นต่ำสำหรับสินค้าใดๆ คือ 5 หน่วย
  • จำนวนสั่งซื้อสูงสุดคือ 20 หน่วย
  • ออเดอร์นอกเหนือจากนี้ต้องปรับ

วิธี IF:

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

วิธี MIN/MAX:

=MAX(5, MIN(20, G2))

สูตรนี้รับประกันว่าค่าอยู่ระหว่าง 5 ถึง 20 โดยไม่ต้องใช้ Nested IF

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

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

วิธี IF:

=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))

ข้อดี: กระชับและน่าเชื่อถือ เหมาะสำหรับ caps, floors และตรรกะการตั้งราคา

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

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

Syntax:

=FILTER(array, include, [if_empty])

ลองสร้างรายงานไดนามิกจากข้อมูลขาย หาออเดอร์ Electronics ที่มูลค่าเกิน $5,000

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

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

วิธีนี้ต้องคัดลอกลงทุกแถว สร้างผลลัพธ์ที่แยกต่างหาก

วิธี FILTER:

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

ฟังก์ชัน FILTER สามารถรวมหลายเงื่อนไขและคืนเรคคอร์ดที่ตรงกันทั้งหมด ทำให้เหมาะสำหรับสร้างรายงานแบบไดนามิกจากเงื่อนไข โดยไม่ต้องใช้ IF logic ที่ซับซ้อน เหมาะอย่างยิ่งสำหรับงานวิเคราะห์ข้อมูลที่ต้องกรองและนำเสนอข้อมูลตามหลายเกณฑ์

สรุป

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