เมื่อต้องเทียบค่าในเซลล์กับหลายค่าที่เป็นไปได้ เช่น รหัสแผนกที่มีได้หลายแบบ แล้วแปลงเป็นชื่อแผนกเต็ม การเขียน IF ซ้อนหลายชั้นทำให้สูตรอ่านยากและแก้ไขลำบาก SWITCH คือสูตรที่เทียบค่าเซลล์กับรายการค่าที่กำหนดไว้ตรงๆ ได้ในสูตรเดียว อ่านง่ายและแก้ไขสะดวกกว่า IF ซ้อน
โครงสร้างสูตร
=SWITCH(ค่าที่ต้องการเทียบ, ค่าที่1, ผลลัพธ์1, ค่าที่2, ผลลัพธ์2, ..., [ผลลัพธ์เริ่มต้นถ้าไม่ตรง])
ตัวอย่างการใช้งาน
=SWITCH(A2,"HR","ฝ่ายบุคคล","AC","ฝ่ายบัญชี","IT","ฝ่ายไอที","ไม่ระบุ")| A | B | |
|---|---|---|
| 1 | รหัสแผนก | ชื่อแผนก |
| 2 | AC | ฝ่ายบัญชี |
| 3 | SL | ไม่ระบุ |
สูตรนี้เทียบค่าใน A2 กับรายการรหัส HR, AC, IT ตรงๆ ถ้าตรงกับ “AC” จะได้ผลลัพธ์ “ฝ่ายบัญชี” และถ้าไม่ตรงกับรหัสใดเลย (เช่น “SL”) จะได้ค่าเริ่มต้นที่กำหนดไว้ท้ายสุดคือ “ไม่ระบุ” แทนที่จะขึ้น Error
SWITCH ต่างจาก IFS และ CHOOSE ยังไง
| สูตร | เหมาะกับ |
| SWITCH | เทียบค่าตรงๆ กับรายการค่าที่เป็นไปได้ (ข้อความ/รหัส) โดยไม่ต้องมีเงื่อนไขเปรียบเทียบ |
| IFS | ใช้เงื่อนไขเปรียบเทียบได้หลากหลายกว่า เช่น มากกว่า/น้อยกว่า ไม่ใช่แค่เท่ากับ |
| CHOOSE | เลือกค่าจากลำดับตัวเลขต่อเนื่อง (1, 2, 3…) ไม่ใช่การเทียบค่าข้อความ |
ข้อควรรู้
ถ้าไม่ใส่ค่าเริ่มต้นท้ายสุดและไม่มีค่าไหนตรงกันเลย สูตรจะคืนค่า Error #N/A ดังนั้นควรใส่ค่าเริ่มต้นไว้เสมอเพื่อป้องกัน Error ที่ไม่คาดคิด
สรุป
SWITCH เหมาะกับการแปลงรหัสหรือข้อความเป็นค่าอื่นแบบเทียบตรงๆ อ่านง่ายกว่า IF ซ้อนหลายชั้นมาก ถ้าเงื่อนไขที่ต้องใช้มีการเปรียบเทียบมากกว่า-น้อยกว่าไม่ใช่แค่เท่ากับ อ่านต่อได้ที่ IFS Function ใน Excel ทางเลือกที่อ่านง่ายกว่า IF ซ้อนหลายชั้น