Nếu bạn từng phải sao chép cùng một công thức phức tạp qua 50 ô khác nhau, rồi phát hiện lỗi và phải sửa lại từng ô một, bạn sẽ thấy hàm LAMBDA vô cùng hữu ích. Hàm này cho phép bạn tạo các hàm riêng của mình mà không cần viết một dòng code nào trong VBA hay Macro. Tôi đã tiết kiệm được 3 giờ mỗi tuần chỉ bằng cách chuyển 5 công thức thường dùng sang các hàm LAMBDA tùy chỉnh.

Hàm LAMBDA Là Gì Và Tại Sao Bạn Cần Nó
Hàm LAMBDA trong Excel 2024 hoạt động như một công cụ đóng gói công thức. Thay vì viết công thức dài 20 dòng rồi sao chép đi sao chép lại, bạn gói nó vào LAMBDA một lần, đặt tên thân thiện, và gọi lại bất cứ khi nào cần. Hàm mới của bạn sẽ xuất hiện trong danh sách gợi ý công thức giống như các hàm có sẵn của Excel.
Lợi ích chính:
- Không cần học VBA, Macro hay JavaScript
- Chỉ cần sửa một chỗ khi có lỗi thay vì sửa hàng trăm ô
- Hoạt động trên Excel Online, iPad, Android (không như VBA)
- Có thể gọi chính nó (đệ quy) để thực hiện tính toán phức tạp
Microsoft ra mắt LAMBDA năm 2020 và chính thức tích hợp vào Excel 2024. Hàm này có sẵn trong các phiên bản Excel for Microsoft 365, Excel 2024 cho Windows và Mac, cùng Excel for the web.
Cú Pháp Cơ Bản Của Hàm LAMBDA
Cú pháp của LAMBDA tuân theo một quy tắc đơn giản: các tham số đầu vào xếp trước, công thức tính toán đặt cuối cùng.
=LAMBDA([tham_số1, tham_số2, ...], công_thức_tính_toán)
Các tham số:
- Tham số: Giá trị đầu vào (tùy chọn, tối đa 253 tham số)
- Công thức tính toán: Biểu thức Excel để trả về kết quả (bắt buộc)
Quy tắc đặt tên tham số:
- Tuân theo quy tắc đặt tên của Excel
- Không dùng dấu chấm trong tên tham số
- Tránh tên giống tham chiếu ô (như val1 giống ô VAL1)
- Nên dùng tên mô tả rõ ràng như gia_tri_dau, gia_tri_cuoi
Ví dụ đơn giản nhất: tạo hàm cộng thêm 1 vào một số bất kỳ.
=LAMBDA(so, so + 1)
Đây là hàm nhận vào một tham số tên là “so” và trả về giá trị đó cộng thêm 1. Nhưng nếu bạn chỉ viết như vậy trong một ô, Excel sẽ báo lỗi #CALC! vì hàm không có giá trị để xử lý.
Kiểm Tra Hàm LAMBDA Trực Tiếp Trong Ô
Trước khi lưu hàm vào Name Manager, bạn nên kiểm tra xem nó hoạt động đúng chưa. Excel cho phép bạn test ngay trong ô bằng cách thêm giá trị test vào cuối công thức trong một cặp ngoặc đơn riêng.
Cú pháp test:
=LAMBDA(tham_số, công_thức)(giá_trị_test)
Ví dụ thực tế: tạo hàm tính diện tích hình chữ nhật.
Bước 1 – Viết công thức gốc:
=A2 * B2
Giả sử A2 là chiều dài, B2 là chiều rộng.
Bước 2 – Chuyển sang dạng LAMBDA:
=LAMBDA(chieu_dai, chieu_rong, chieu_dai * chieu_rong)
Bước 3 – Test với giá trị cụ thể:
=LAMBDA(chieu_dai, chieu_rong, chieu_dai * chieu_rong)(5, 3)
Công thức trên sẽ trả về kết quả 15 (5 nhân 3). Nếu kết quả đúng, bạn đã sẵn sàng lưu hàm vào Name Manager.
Tôi thường test với 3-4 bộ giá trị khác nhau để đảm bảo logic đúng. Với hàm diện tích hình chữ nhật trên, tôi test với (5,3), (10,7), (2.5,4) để kiểm tra cả số nguyên và số thập phân.
Lưu Hàm LAMBDA Vào Name Manager
Sau khi test xong, bạn cần lưu hàm vào Name Manager để sử dụng trong toàn bộ workbook. Đây là bước quan trọng nhất vì nó biến công thức test thành hàm thật sự.
Các bước thực hiện:
1. Sao chép công thức LAMBDA (không bao gồm phần test): Chỉ copy phần này:
=LAMBDA(chieu_dai, chieu_rong, chieu_dai * chieu_rong)
KHÔNG copy phần (5,3) ở cuối.
2. Mở Name Manager:
- Trên Windows: Formulas > Name Manager hoặc Ctrl + F3
- Trên Mac: Formulas > Define Name
3. Tạo tên mới:
- Click nút “New”
- Trong hộp thoại New Name:
- Name: Nhập tên hàm (ví dụ: DIEN_TICH_HCN)
- Scope: Chọn Workbook (để dùng trong toàn file)
- Comment: Mô tả hàm (ví dụ: “Tính diện tích hình chữ nhật. Tham số: chieu_dai, chieu_rong”)
- Refers to: Dán công thức LAMBDA đã copy
4. Lưu và đóng:
- Click OK để tạo hàm
- Click Close để đóng Name Manager
Giờ bạn có thể gọi hàm mới giống như gọi SUM hay AVERAGE. Trong bất kỳ ô nào, gõ:
=DIEN_TICH_HCN(A2, B2)
Excel sẽ tự gợi ý tên hàm khi bạn gõ vài ký tự đầu tiên. Các tham số chieu_dai và chieu_rong xuất hiện trong gợi ý giúp bạn nhớ cần truyền giá trị gì vào.
Ví Dụ Nâng Cao: Tính Tốc Độ Tăng Trưởng Kép Hàng Năm
Hãy tạo một hàm thực tế hơn để tính CAGR (Compound Annual Growth Rate) – tốc độ tăng trưởng kép hàng năm. Đây là công thức tài chính thường dùng nhưng khá dài.
Công thức CAGR gốc:
=((gia_tri_cuoi / gia_tri_dau)^(1 / so_nam)) - 1
Chuyển sang LAMBDA:
=LAMBDA(gia_tri_dau, gia_tri_cuoi, so_nam, ((gia_tri_cuoi / gia_tri_dau)^(1 / so_nam)) - 1)
Test với dữ liệu thực:
=LAMBDA(gia_tri_dau, gia_tri_cuoi, so_nam, ((gia_tri_cuoi / gia_tri_dau)^(1 / so_nam)) - 1)(100000, 150000, 3)
Kết quả: 0.1447 (tương đương tăng trưởng 14.47% mỗi năm).
Lưu vào Name Manager:
- Name: TANG_TRUONG_CAGR
- Comment: “Tính tốc độ tăng trưởng kép hàng năm. Tham số: gia_tri_dau (số đầu kỳ), gia_tri_cuoi (số cuối kỳ), so_nam (số năm)”
- Refers to: Công thức LAMBDA ở trên
Sau này mỗi khi cần tính CAGR, chỉ cần gõ:
=TANG_TRUONG_CAGR(A2, B2, C2)
Thay vì nhớ và gõ lại công thức 40 ký tự, bạn chỉ cần nhớ tên hàm. Nếu sau này phát hiện công thức có vấn đề hoặc muốn thay đổi cách tính, mở Name Manager sửa một chỗ là tất cả ô sử dụng hàm đều cập nhật tự động.
Khắc Phục Các Lỗi Thường Gặp
Khi làm việc với LAMBDA, bạn có thể gặp một số lỗi phổ biến. Đây là cách xác định nguyên nhân và sửa nhanh.
Lỗi #CALC! Xuất hiện khi bạn tạo hàm LAMBDA trong ô nhưng không gọi nó. Thêm giá trị test vào cuối công thức trong ngoặc đơn là được.
Sai:
=LAMBDA(x, x + 1)
Đúng:
=LAMBDA(x, x + 1)(5)
Lỗi #VALUE! Có hai nguyên nhân chính:
- Số lượng tham số truyền vào không đúng
- Hàm LAMBDA không hợp lệ
Ví dụ: Hàm cần 3 tham số nhưng bạn chỉ truyền 2.
=TANG_TRUONG_CAGR(100000, 150000) // Thiếu tham số so_nam
Lỗi #NAME? Tên hàm trong Name Manager khác với tên bạn gọi trong công thức. Kiểm tra lại chính tả hoặc xem Name Manager để xác nhận tên chính xác.
Lỗi #NUM! Thường xuất hiện khi hàm đệ quy (recursive LAMBDA) vượt quá giới hạn 1024 lần gọi. Giới hạn số lần đệ quy hoặc thêm điều kiện dừng rõ ràng hơn.
Tôi gặp lỗi #NUM! khi tạo hàm Fibonacci đệ quy mà quên thêm điều kiện dừng. Sau khi sửa lại với điều kiện IF(n<3, 1, …), hàm hoạt động bình thường với các giá trị n nhỏ hơn 100.
Chuyển Hàm LAMBDA Sang Workbook Khác
Một hạn chế của LAMBDA là hàm chỉ tồn tại trong workbook mà bạn tạo nó. Nhưng có một cách đơn giản để chuyển hàm sang file khác.
Phương pháp:
- Sao chép một ô có chứa công thức gọi hàm LAMBDA từ file gốc
- Dán vào file mới
- Định nghĩa tên (Name) sẽ tự động theo sang file mới
Excel có một “bug” hữu ích: khi copy worksheet sang workbook khác, tất cả các Name được định nghĩa cũng theo. Bạn có thể tận dụng điều này để chuyển toàn bộ thư viện LAMBDA của mình.
Cách nhanh hơn:
- Insert một sheet trống trong workbook có LAMBDA
- Copy sheet đó sang workbook mới (chuột phải > Move or Copy > chọn file đích)
- Tất cả các Name LAMBDA đi theo
- Xóa sheet trống nếu không cần
Phương pháp này đặc biệt hữu ích khi bạn xây dựng một thư viện các hàm thường dùng và muốn mang theo khi làm dự án mới.
Công Cụ Hỗ Trợ: Advanced Formula Environment
Microsoft phát hành một add-in miễn phí tên Advanced Formula Environment giúp việc tạo và chỉnh sửa LAMBDA dễ dàng hơn nhiều. Add-in này format công thức có thụt lề, xuống dòng, giúp đọc code dễ hơn.
Cài đặt:
- Insert > Add-ins > Get Add-ins
- Tìm “Advanced Formula Environment”
- Click Add
Sau khi cài, panel xuất hiện bên phải. Ba nút chính:
- Dấu + : Tạo LAMBDA mới
- Sync : Lưu vào Name Manager
- Import : Import từ GitHub Gist
Interface này tốt hơn nhiều so với hộp nhỏ trong Name Manager. Công thức được format tự động với thụt lề, tên biến highlight, dễ phát hiện lỗi cú pháp.
Những Điều Cần Nhớ Trước Khi Bắt Đầu
LAMBDA không phải giải pháp cho mọi tình huống. Đây là khi nào nên và không nên dùng nó.
Dùng LAMBDA khi:
- Công thức được sử dụng lặp đi lặp lại nhiều lần
- Logic phức tạp khó maintain khi sao chép
- Cần chia sẻ workbook với người khác (không muốn họ sửa công thức)
- Muốn đóng gói công thức thành “black box” dễ dùng
Không cần LAMBDA khi:
- Công thức đơn giản chỉ dùng một lần
- Các hàm có sẵn của Excel đã đủ
- Workbook cần tương thích ngược với Excel 2019 trở về trước
- Công thức cần thay đổi logic thường xuyên theo từng trường hợp
Việc quyết định có nên dùng LAMBDA hay không phụ thuộc vào tần suất sử dụng. Nếu một công thức xuất hiện từ 5 lần trở lên trong workbook, có lẽ đã đến lúc biến nó thành hàm LAMBDA.
Sử Dụng Hàm LAMBDA Hiệu Quả Từ Hôm Nay
Hàm LAMBDA có sẵn trong Excel 2024, Excel for Microsoft 365, và Excel for the web. Bạn cần đăng nhập tài khoản Microsoft 365 để sử dụng. Người dùng Excel 2019 hoặc cũ hơn không có quyền truy cập tính năng này.
Bắt đầu với công thức bạn đang dùng nhiều nhất. Chuyển nó sang LAMBDA, test kỹ, rồi lưu vào Name Manager. Thư viện hàm tùy chỉnh của bạn sẽ tích lũy dần theo thời gian. Sau ba tháng sử dụng LAMBDA, tôi đã có 12 hàm tùy chỉnh tiết kiệm trung bình 15 phút mỗi ngày so với việc sao chép công thức thủ công.
