
Hàm LET Trong Excel: Đặt Tên Biến Cho Công Thức Dài
LET cho phép bạn đặt tên cho một phần tính toán rồi dùng lại tên đó trong công thức. Hai lợi ích: công thức dễ đọc hơn, và phần được đặt tên chỉ tính một lần thay vì tính lại mỗi lần xuất hiện.
Hàm này có từ Office 2021 trở lên.

Cú pháp
=LET(tên_1, giá_trị_1, tên_2, giá_trị_2, ..., biểu_thức_cuối)
Các cặp tên và giá trị khai báo trước, biểu thức cuối cùng là kết quả trả về.
Ví dụ dễ hiểu nhất
Một công thức tra cứu có xử lý lỗi, viết theo cách thường:
=IF(XLOOKUP(E2,A2:A100,B2:B100,"")="", "Chưa có", XLOOKUP(E2,A2:A100,B2:B100))
Hàm XLOOKUP bị viết hai lần và Excel cũng chạy nó hai lần. Viết lại bằng LET:
=LET(kq, XLOOKUP(E2,A2:A100,B2:B100,""), IF(kq="", "Chưa có", kq))
Ngắn hơn, dễ đọc hơn, và phần tra cứu chỉ chạy một lần.

Dùng nhiều biến
Các biến khai báo sau dùng được biến khai báo trước:
=LET(doanhthu, SUM(D2:D100), chiphi, SUM(E2:E100), loinhuan, doanhthu-chiphi, loinhuan/doanhthu)
Công thức này tính tỷ suất lợi nhuận. Đọc từng dòng là hiểu ngay đang làm gì, trong khi viết gộp lại sẽ thành một chuỗi dài rối mắt.
Khi nào LET thật sự có ích
Công thức có phần lặp lại. Càng lặp nhiều lần thì LET càng tiết kiệm. Đây là lợi ích về tốc độ, rõ nhất trên file lớn, xem thêm tối ưu file Excel nặng.
Công thức dài cần bàn giao cho người khác. Đặt tên biến bằng tiếng Việt không dấu cho dễ hiểu, người sau đọc vào biết ngay logic.
Công thức lồng nhiều hàm mảng động. Ví dụ lọc rồi sắp xếp rồi lấy giá trị duy nhất, xem hàm UNIQUE, SORT và SORTBY.
Khi nào không cần LET
Công thức ngắn, không có phần lặp lại thì dùng LET chỉ làm dài thêm. Đừng bọc LET vào mọi thứ chỉ vì nó mới.
Quy tắc đặt tên biến
- Bắt đầu bằng chữ cái hoặc dấu gạch dưới, không bắt đầu bằng số.
- Không chứa dấu cách. Dùng gạch dưới hoặc viết liền.
- Không trùng với tên hàm có sẵn hoặc địa chỉ ô như A1, B2.
- Không dùng dấu tiếng Việt cho an toàn.
Nếu Excel báo lỗi #NAME? mà bạn chắc là đã gõ đúng LET, kiểm tra lại tên biến có vi phạm quy tắc nào không.
Ví dụ ứng dụng: xếp loại có kiểm tra dữ liệu
=LET(diem, B2, IF(NOT(ISNUMBER(diem)), "Dữ liệu sai", IFS(diem>=9,"Xuất sắc", diem>=8,"Giỏi", diem>=6.5,"Khá", TRUE,"Yếu")))
Kiểm tra dữ liệu trước rồi mới xếp loại, mà không phải viết lại tên ô ở từng bậc. Cách dùng IFS chi tiết tại hàm IFS và SWITCH.
Nếu Excel của bạn chưa có LET
Bản 2016 và 2019 không có hàm này. Cách thay thế gần nhất là dùng cột phụ: tính phần trung gian ra một cột riêng rồi tham chiếu tới nó. Cách này hiệu quả tương đương, chỉ là bảng tính trông rườm rà hơn.
Bản thấp nhất có LET là key Office 2021.
Câu hỏi thường gặp
LET có làm công thức chạy nhanh hơn không?
Có, khi công thức có phần lặp lại. Với công thức không lặp thì tốc độ như nhau.
Biến khai báo trong LET dùng được ở ô khác không?
Không. Biến chỉ tồn tại trong phạm vi công thức đó.
LET khác gì đặt tên vùng bằng Name Manager?
Name Manager tạo tên dùng chung cho cả file. LET tạo biến chỉ sống trong một công thức, không làm rối danh sách tên chung.



