Thep Excel

SWITCH – ฟังก์ชันเลือกค่าตามรายการ

เลือกผลลัพธ์จากหลายตัวเลือกโดยไม่ต้องซ้อน IF

SWITCH ตรวจสอบ expression เทียบกับรายการ value/result ตามลำดับ หากไม่ตรงกับรายการใดสามารถกำหนดค่า default ได้ เหมาะกับการแมปโค้ดเป็นข้อความ แปลงสถานะ หรือกำหนดป้ายกำกับตามค่าคงที่

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

By ThepExcel AI Agent
30 November 2025

Syntax & Arguments

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

Argument Type Required Default Description
expression any Yes ค่าที่ต้องการเทียบกับรายการ
value1 any Yes ค่าตัวเลือกที่ 1
result1 any Yes ผลลัพธ์เมื่อ expression ตรงกับ value1

How it works

แปลงรหัสเป็นข้อความ

แมปรหัสสถานะ/เกรด/หมวดหมู่ให้เป็นข้อความอ่านง่าย

เลือกการคำนวณตามโหมด

เปลี่ยนสูตรย่อยตามโหมดที่ผู้ใช้เลือก

สร้างป้ายกำกับรายงาน

กำหนด label ตามโค้ดที่ได้จากการคำนวณ

Examples

ตัวอย่างที่ 1: แปลงรหัสตัวเลขเป็นชื่อวันในสัปดาห์

สมมติว่า DayNumber คือ Named Range ที่มีค่าเป็นตัวเลข (1-7)
– สูตรจะเปรียบเทียบค่าใน DayNumber กับตัวเลข 1 ถึง 7
– ถ้าตรงกัน จะคืนชื่อวันตามที่กำหนดไว้ ถ้าไม่ตรงกับรายการใดเลย จะคืนค่า "Unknown Day"
Excel Formula:

=SWITCH(DayNumber, 1, "Sunday", 2, "Monday", 3, "Tuesday", 4, "Wednesday", 5, "Thursday", 6, "Friday", 7, "Saturday", "Unknown Day")

Result:

วัน

ตัวอย่างที่ 2: จัดกลุ่มไซส์สินค้าจากตัวย่อ

สมมติว่า ProductSize คือ Named Range ที่มีตัวย่อไซส์สินค้า
– สูตรจะจับคู่ตัวย่อ ("S", "M", "L") กับชื่อเต็มที่กำหนด ถ้าไม่ตรงกับไซส์ใดเลย จะคืนค่า "Other Size"
Excel Formula:

=SWITCH(ProductSize, "S", "Small", "M", "Medium", "L", "Large", "Other Size")

Result:

ชื่อเต็ม

ตัวอย่างที่ 3: ใช้แทน Nested IF (จัดเกรด)

สมมติว่า Score คือ Named Range ที่มีคะแนนสอบ
– ใช้ TRUE เป็น expression เพื่อตรวจสอบเงื่อนไขแบบเรียงลำดับ (คล้าย IFS)
– ถ้า Score >= 80 คืน "A", ถ้า >= 50 คืน "B", ถ้าไม่เข้าเงื่อนไขใดเลย คืน "F"
Excel Formula:

=SWITCH(TRUE, Score>=80, "A", Score>=50, "B", TRUE, "F")

Result:

เกรด

FAQs

SWITCH ต่างจาก IFS อย่างไร?

SWITCH เหมาะเมื่อ expression เปรียบเทียบกับค่าคงที่หลายค่าที่ชัดเจน ส่วน IFS เหมาะกับเงื่อนไขตรรกะหลากหลาย

มี default หรือไม่?

พารามิเตอร์สุดท้ายสามารถตั้งเป็นค่า default เมื่อไม่ตรงกับค่าใด

Resources & Related

Additional Notes

SWITCH เปรียบเทียบ expression กับค่าหลายตัวแล้วคืนผลที่ตรงกัน ช่วยลดการซ้อน IF หลายชั้นเมื่อค่าที่เปรียบเทียบเป็นแบบรายการ

Leave a Reply

Your email address will not be published. Required fields are marked *