บางครั้งอยากให้สูตรเลือกค่าใดค่าหนึ่งจากรายการที่กำหนดไว้เอง โดยอิงจากตัวเลขลำดับ เช่น พิมพ์เลข 1-5 แล้วให้สูตรแปลงเป็นชื่อระดับความพึงพอใจ ปกติต้องใช้ IF ซ้อนหลายชั้นซึ่งอ่านยาก CHOOSE คือสูตรที่เลือกค่าจากลำดับที่กำหนดไว้ได้ในสูตรเดียว สั้นและอ่านง่ายกว่า IF ซ้อน
โครงสร้างสูตร
=CHOOSE(ลำดับที่ต้องการ, ค่าที่1, ค่าที่2, ค่าที่3, ...)
ตัวอย่างการใช้งาน
สมมติมีคะแนนความพึงพอใจเป็นตัวเลข 1-5 ในคอลัมน์ A ต้องการแปลงเป็นข้อความ
=CHOOSE(A2,"แย่มาก","แย่","ปานกลาง","ดี","ดีมาก")| A | B | |
|---|---|---|
| 1 | คะแนน | ความหมาย |
| 2 | 4 | ดี |
| 3 | 2 | แย่ |
สูตรนี้จะดูค่าใน A2 (เท่ากับ 4) แล้วเลือกค่าลำดับที่ 4 จากรายการ “แย่มาก, แย่, ปานกลาง, ดี, ดีมาก” ได้ผลลัพธ์เป็น “ดี” ถ้า A2 เป็น 1 จะได้ “แย่มาก” แทน
CHOOSE ต่างจาก IF ซ้อนยังไง
ถ้าใช้ IF ซ้อนแทน จะต้องเขียนยาวแบบ =IF(A2=1,"แย่มาก",IF(A2=2,"แย่",IF(A2=3,"ปานกลาง",IF(A2=4,"ดี","ดีมาก")))) ซึ่งยาวกว่ามากและแก้ไขยากกว่า ขณะที่ CHOOSE เขียนสั้นกว่าและเรียงลำดับค่าให้ดูเข้าใจง่ายในแถวเดียว เหมาะกับกรณีที่ตัวเลขเรียงลำดับต่อเนื่องกัน (1, 2, 3, 4, 5) โดยไม่มีเงื่อนไขซับซ้อน
ข้อควรรู้
| ข้อควรรู้ | รายละเอียด |
| เลือกได้สูงสุดกี่ค่า | สูงสุด 254 ค่าในสูตรเดียว |
| ถ้าลำดับที่ระบุไม่มีอยู่ | คืนค่า Error #VALUE! เช่น ถ้ามีแค่ 5 ค่าแต่ใส่ลำดับที่ 6 |
| ใช้กับตัวเลขทศนิยมได้ไหม | Excel จะปัดเศษลงให้อัตโนมัติ เช่น 2.7 จะถูกมองเป็นลำดับที่ 2 |
สรุป
CHOOSE เหมาะกับการแปลงตัวเลขลำดับให้เป็นข้อความหรือค่าที่กำหนดเอง สั้นและอ่านง่ายกว่า IF ซ้อนหลายชั้น ถ้าเงื่อนไขซับซ้อนกว่าการเรียงลำดับตัวเลขต่อเนื่อง แนะนำอ่านทางเลือกที่ยืดหยุ่นกว่าที่ IFS Function ใน Excel ทางเลือกที่อ่านง่ายกว่า IF ซ้อนหลายชั้น