Menu

Hàm SWITCH trong Excel: cú pháp, giá trị mặc định, ví dụ

=SWITCH(B2,"N","North","S","South","Unknown") lần lượt so B2 với từng giá trị và trả về kết quả đi cặp với giá trị khớp chính xác đầu tiên, hoặc Unknown khi không có giá trị nào khớp. Tìm hiểu cú pháp SWITCH, giá trị mặc định, mẫu SWITCH(TRUE,...) và khi nào nên dùng IFS hoặc IF lồng nhau.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=SWITCH(B2,"N","North","S","South","E","East","Unknown") lần lượt so B2 với "N", "S" và "E" rồi trả về tên đi cặp với giá trị khớp chính xác đầu tiên. Khi B2 không khớp với giá trị nào, hàm trả về đối số cuối cùng, Unknown.

Đổi mã khu vực thành tên
C2
ABC
1StoreCodeRegion
2101NNorth
3102SSouth
4103WUnknown
5104EEast
6105nNorth
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Nhấp vào C2 để xem công thức. Cửa hàng 103 có mã W, không có trong danh sách, nên nhận Unknown. Cửa hàng 105 có chữ n viết thường mà vẫn nhận North: khi so khớp văn bản, SWITCH không phân biệt chữ hoa chữ thường. Đổi B4 thành S và khu vực sẽ cập nhật.

Cú pháp hàm SWITCH

=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
  • expression được tính một lần: một ô, hoặc một công thức như WEEKDAY(A2) hay MONTH(A2).
  • Tiếp theo là các cặp gồm một giá trị và kết quả cần trả về khi expression bằng giá trị đó. Có thể có tối đa 126 cặp.
  • default không bắt buộc: một đối số thêm sau cặp cuối cùng. SWITCH biết đó là giá trị mặc định vì nó không có cặp.
  • Phép khớp là chính xác. Tự SWITCH không kiểm tra được "lớn hơn" (xem SWITCH(TRUE) ở dưới).

SWITCH cần Excel 2019 trở lên, hoặc Microsoft 365. Trong Excel 2016 bản mua đứt hoặc cũ hơn, công thức có SWITCH hiện #NAME?. Google Sheets cũng có SWITCH.

Giá trị mặc định, và #N/A khi không có nó

Không có giá trị mặc định, một giá trị không khớp với gì sẽ cho #N/A. Ở đây, số thứ trong tuần từ WEEKDAY (1 là Chủ Nhật, 7 là Thứ Bảy) được đổi thành nhãn; cột C không có giá trị mặc định, cột D có "Weekday" làm giá trị mặc định:

Cuối tuần hay ngày thường
D2
ABCD
1DateDay numberNo defaultWith default
22026-03-147SaturdaySaturday
32026-03-151SundaySunday
42026-03-162#N/AWeekday
52026-03-173#N/AWeekday
62026-03-217SaturdaySaturday
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Ngày 14 và 21 tháng 3 năm 2026 là Thứ Bảy, còn ngày 15 tháng 3 là Chủ Nhật, nên cả hai cột đều gọi tên được. Thứ Hai và Thứ Ba không khớp với 1 hay 7: cột C hiện #N/A, cột D hiện Weekday. Cột D cũng cho thấy biểu thức có thể là một công thức: WEEKDAY chạy một lần và SWITCH so kết quả của nó với từng giá trị.

SWITCH(TRUE, ...) cho khoảng giá trị

SWITCH chỉ kiểm tra bằng nhau, nhưng biểu thức có thể là TRUE. Khi đó mỗi giá trị là một phép so sánh, và SWITCH trả về kết quả của phép so sánh đầu tiên bằng TRUE. Nhờ vậy hàm hoạt động giống IFS, kèm giá trị mặc định ở cuối:

Xếp loại điểm bằng SWITCH(TRUE)
C2
ABC
1StudentScoreGrade
2Ana94A
3Ben81B
4Chloe70C
5Dan65F
6Eve88B
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Các phép so sánh được đọc theo thứ tự, nên ngưỡng cao nhất đứng đầu, cùng quy tắc như IF lồng nhau và IFS. Chữ "F" cuối cùng không có cặp, nên nó là giá trị mặc định cho mọi điểm dưới 70. IFS viết cùng quy tắc này rõ ràng không kém; khác biệt duy nhất là vị trí của TRUE: một lần ở đầu trong SWITCH, là phép kiểm tra cuối cùng trong IFS.

Đổi số thành tên

Một cách dùng phổ biến là đổi một mã số thành chữ, ví dụ thứ hạng thành huy chương:

Thứ hạng thành huy chương
C2
ABC
1RunnerRankMedal
2Ana2Silver
3Ben1Gold
4Chloe4
5Dan3Bronze
6Eve7
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Chloe và Eve về đích ngoài top ba, nên nhận giá trị mặc định là văn bản rỗng. Khi các mã là 1, 2, 3 và tiếp tục không bị ngắt quãng, CHOOSE ngắn hơn, =CHOOSE(B2,"Gold","Silver","Bronze"), nhưng không có giá trị mặc định và trả về #VALUE! với 4 trở lên.

Luyện tập: mã trạng thái

Trạng thái hóa đơn
C2
ABC
1InvoiceCodeStatus
2INV-01P
3INV-02U
4INV-03X
5INV-04P
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Ở C2, dùng SWITCH đổi mã ở B2 thành chữ: P là "Paid", U là "Unpaid", còn lại là "Check". Công thức được điền xuống đến C5.

SWITCH, IFS hay IF lồng nhau

Cả ba đều trả về một trong nhiều kết quả; chúng khác nhau ở thứ được kiểm tra.

SWITCHIFSIF lồng nhau
Kiểm traMột biểu thức, so bằng nhauĐiều kiện bất kỳ cho mỗi cặpĐiều kiện bất kỳ cho mỗi tầng
Giá trị mặc địnhĐối số cuối, không bắt buộcMột cặp TRUE ở cuốiGiá trị khi sai của IF cuối cùng
Không khớp, không có mặc định#N/A#N/AFALSE, nếu IF cuối không có value_if_false
Lặp lại ôKhông: B2 chỉ viết một lầnCó: B2="N", B2="S"...Có
Excel 2016 trở về trước#NAME?#NAME?Chạy được

Dùng SWITCH khi một ô hoặc một công thức được so với một danh sách giá trị cố định (mã, số thứ trong tuần, tháng); đây là cách ngắn nhất và chỉ tính biểu thức một lần. Dùng IFS khi mỗi phép kiểm tra là một phép so sánh khác hoặc đọc các ô khác nhau. Dùng IF lồng nhau khi tệp phải mở được trong Excel 2016 trở về trước. Khi danh sách mã dài hoặc hay thay đổi, hãy đặt nó vào một bảng hai cột và tra cứu bằng XLOOKUP, để việc thêm mã chỉ là thêm một dòng chứ không phải sửa từng công thức.

Câu hỏi thường gặp

Hàm SWITCH trong Excel dùng để làm gì?

Hàm so một biểu thức với một danh sách giá trị và trả về kết quả đi cặp với giá trị đầu tiên khớp chính xác. =SWITCH(B2,1,"Gold",2,"Silver",3,"Bronze","") đổi thứ hạng thành tên huy chương và trả về văn bản rỗng với mọi thứ hạng khác.

Vì sao SWITCH trả về #N/A?

Biểu thức không khớp với giá trị nào và không có giá trị mặc định. Thêm một đối số nữa sau cặp cuối cùng, ví dụ "Other", và SWITCH sẽ trả về nó thay cho #N/A.

SWITCH có kiểm tra được khoảng giá trị như lớn hơn không?

Không trực tiếp, vì hàm chỉ kiểm tra bằng nhau. Hãy dùng TRUE làm biểu thức và các phép so sánh làm giá trị: =SWITCH(TRUE,B2>=90,"A",B2>=80,"B","F") trả về kết quả của phép so sánh đầu tiên cho TRUE.

Excel 2016 có hàm SWITCH không?

Chỉ bản Excel 2016 thuộc Microsoft 365 có. SWITCH có trong Excel 2019, Excel 2021, Excel 2024 và Microsoft 365; Excel 2016 bản mua đứt hoặc cũ hơn hiện #NAME?, nên ở đó hãy dùng IF lồng nhau hoặc CHOOSE.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu