Menu

Hàm CHOOSE trong Excel: chọn giá trị theo số thứ tự

=CHOOSE(B2,"Low","Medium","High") trả về Low khi B2 là 1, Medium khi là 2 và High khi là 3. Đổi số thành tên, chọn vùng để tính tổng, thay thế IF lồng nhau và chọn cột bằng CHOOSECOLS.

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.

=CHOOSE(B2,"Low","Medium","High") trả về giá trị ở vị trí do B2 chỉ định: Low với 1, Medium với 2, High với 3. Đối số đầu tiên là chỉ số, và mọi thứ phía sau là danh sách để chọn.

Đổi số ưu tiên thành nhãn
C2
ABC
1TaskPriorityLabel
2Fix login3High
3Update docs1Low
4Review PR2Medium
5Clean inbox1Low
6Ship release3High
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.

Đổi một mức ưu tiên thành 2 thì nhãn của nó đổi thành Medium. Mức ưu tiên 4 sẽ cho #VALUE!, vì danh sách chỉ có ba giá trị; số 0 cũng vậy.

Cú pháp CHOOSE

=CHOOSE(index_num, value1, [value2], ...)
  • index_num: một số từ 1 đến số lượng giá trị (tối đa 254). Số thập phân bị cắt xuống thành số nguyên, nên 2,9 sẽ chọn giá trị thứ 2.
  • value1, value2, ...: những gì cần trả về. Có thể là số, văn bản, tham chiếu ô, công thức hoặc cả một vùng.

Tên thứ trong tuần từ một ngày

WEEKDAY trả về một số từ 1 (Chủ Nhật) đến 7 (Thứ Bảy), đúng là chỉ số mà CHOOSE cần.

Tên thứ của một ngày
B2
AB
1DateDay
22026-03-02Mon
32026-03-06Fri
42026-03-07Sat
52026-03-11Wed
62026-03-15Sun
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 2026-03-02 là Thứ Hai, nên B2 hiện Mon. Sửa một ngày thì tên thứ đổi theo. =TEXT(A2,"ddd") cho ra cùng các tên viết tắt mà không cần danh sách (trang weekday có giải thích). CHOOSE là lựa chọn phù hợp khi bạn muốn dùng nhãn riêng, như "Weekday" và "Weekend", hoặc một tuần bắt đầu từ ngày khác.

CHOOSE thay cho IF lồng nhau

Khi điều kiện là một số thứ tự, CHOOSE thay được cả chuỗi IF. Cả hai công thức dưới đây đều trả về tỷ lệ tăng trưởng cho số kịch bản trong B1.

Chọn một kịch bản
B2
AB
1Scenario (1 to 3)2
2Growth (CHOOSE)5%
3Growth (nested IF)5%
4
5Sales this year120,000
6Sales next year126,000
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.

Kịch bản 2 cho 5% và doanh số năm sau là 126.000. Chọn 3 trong B1 để có 8%. Bản dùng CHOOSE luôn chỉ sâu một cấp dù bạn thêm bao nhiêu kịch bản; bản dùng IF thì mỗi kịch bản lại thêm một cấp. Khi điều kiện là một nhãn văn bản, hãy dùng SWITCH; với các khoảng giá trị như từ 0 đến 999, hãy dùng bảng tra cứu.

Chọn cả một vùng

Các giá trị có thể là vùng, nên CHOOSE có thể quyết định SUM hay AVERAGE sẽ đọc cột nào. Với doanh số từ tháng 1 đến tháng 3 nằm ở B2:B5, C2:C5 và D2:D5, cùng số tháng ở F2:

=SUM(CHOOSE(F2, B2:B5, C2:C5, D2:D5))

Với 3 trong F2, công thức này tính tổng D2:D5, tức cột tháng 3. Khi có nhiều cột hơn, liệt kê từng vùng sẽ rất dài, và INDEX làm được điều tương tự chỉ với một vùng: =SUM(INDEX(B2:D5,0,F2)), trong đó 0 nghĩa là "mọi hàng" (trang INDEX có giải thích). CHOOSE vẫn hữu ích khi các vùng không nằm cạnh nhau, hoặc nằm ở các trang tính khác nhau.

CHOOSECOLS và CHOOSEROWS

Microsoft 365 và Excel 2024 có thêm hai hàm chọn cả cột hoặc cả hàng trong một vùng theo số thứ tự rồi trả kết quả tràn ra các ô bên cạnh. Số âm sẽ đếm từ cuối.

Chỉ lấy tên và tồn kho
F1
ABCDEFG
1ProductCategoryPriceStockProductStock
2AppleFruit$1.2040Apple40
3PearFruit$1.5025Pear25
4CarrotVegetable$0.8060Carrot60
5BreadBakery$2.4015Bread15
6MilkDairy$1.1030Milk30
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.

F1 trả về cột Product và cột Stock, kèm cả tiêu đề. Các số có thể theo bất kỳ thứ tự nào: =CHOOSECOLS(A1:D6,4,1) đặt Stock trước Product. =CHOOSEROWS(A1:D6,1,-1) trả về hàng tiêu đề và hàng cuối cùng.

Luyện tập: phí vận chuyển theo phương thức

Các phương thức vận chuyển
C2
ABC
1OrderMethodCost
210012
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: Phương thức 1 có phí 5, phương thức 2 có phí 9 và phương thức 3 có phí 15. Trong C2, dùng CHOOSE để trả về phí của số phương thức ở B2.

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

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

Hàm trả về một giá trị trong danh sách dựa trên một con số: =CHOOSE(2,"Red","Green","Blue") trả về Green. Đối số đầu tiên chọn vị trí, còn các giá trị phía sau có thể là số, văn bản, tham chiếu ô hoặc vùng.

Vì sao CHOOSE trả về #VALUE!?

Chỉ số nhỏ hơn 1 hoặc lớn hơn số lượng giá trị. =CHOOSE(4,"Red","Green","Blue") chỉ có ba giá trị để chọn. Chỉ số thập phân bị cắt xuống thành số nguyên, nên 2,7 sẽ chọn giá trị thứ hai.

Khi nào nên dùng CHOOSE thay cho IF?

Khi điều kiện là một số thứ tự như 1, 2, 3. =CHOOSE(B2,5,9,15) ngắn hơn và dễ đọc hơn =IF(B2=1,5,IF(B2=2,9,15)). Với điều kiện không phải dãy số liên tiếp, hãy dùng IFS, SWITCH hoặc một bảng tra cứu.

Hàm CHOOSECOLS trong Excel là gì?

Một hàm mới hơn, trả về các cột được chọn của một vùng: =CHOOSECOLS(A1:D5,1,4) trả về cột thứ nhất và cột thứ tư. CHOOSEROWS làm điều tương tự với hàng, và số âm sẽ đếm từ cuối. Cả hai cần Microsoft 365 hoặc Excel 2024.

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