Nếu bạn từng nhìn chằm chằm vào một công thức Excel dài “quái vật” và nghĩ, “Chắc chắn phải có cách nào tốt hơn”, thì câu trả lời chính là: Có. Đó là sự ra đời của các hàm LAMBDA và LET, và bạn không cần phải là một lập trình viên để nắm vững chúng.
Các hàm mạnh mẽ này hiện đã có sẵn cho tất cả người dùng đăng ký Microsoft 365, ngay cả với gói cơ bản nhất. Bạn không còn phải chờ đợi quyền truy cập bản beta hay các bản dựng nội bộ nữa để trải nghiệm tính năng đột phá này. Chúng hứa hẹn sẽ thay đổi cách bạn tương tác và quản lý các công thức phức tạp trong Excel, giúp quy trình làm việc trở nên trực quan và hiệu quả hơn.
LET: Bí quyết “dọn dẹp” công thức Excel lộn xộn
Bạn đã bao giờ tạo ra một công thức dài đến mức nó cần một thanh cuộn ngang chưa? Hàm LET có thể giải quyết vấn đề đó một cách triệt để.
LET cho phép bạn gán tên cho các phần của công thức – giống như việc đặt biệt danh cho các giá trị hoặc các phép tính trung gian. Thay vì lặp lại cùng một công thức con nhiều lần, bạn chỉ cần định nghĩa nó một lần, đặt tên cho nó, sau đó tái sử dụng tên đó trong toàn bộ phép tính của mình. Điều này không chỉ giúp công thức ngắn gọn hơn mà còn cải thiện đáng kể khả năng đọc và dễ bảo trì.
Ví dụ, tôi sẽ sử dụng LET để chấm điểm học sinh. Nếu không có LET, công thức sẽ trở nên rất lộn xộn và khó hiểu:
=IFS(AVERAGE(B2:E2) > 85, "Grade A", AVERAGE(B2:E2) >= 70, "Grade B", AVERAGE(B2:E2) < 70, "Grade C")
Trong ví dụ trên, có ba lần gọi hàm AVERAGE(B2:E2) giống hệt nhau, điều này khá kém hiệu quả và khó đọc. Hàm LET cho phép chúng ta định nghĩa nó chỉ một lần:
=LET(student_average, AVERAGE(B2:E2), IFS(student_average > 85, "Grade A", student_average >= 70, "Grade B", student_average < 70, "Grade C"))
Giờ đây, công thức đã trở nên sạch sẽ hơn, dễ đọc hơn và dễ bảo trì hơn. Nếu tôi cần cập nhật logic của student_average, thay đổi sẽ tự động áp dụng khắp nơi mà không cần sửa chữa thủ công từng chỗ một.
Bạn có thể định nghĩa tối đa 126 biến trong một hàm LET (vâng, thật đấy!), điều này khiến nó trở nên hoàn hảo để tính toán các chỉ số phức tạp, xây dựng các bảng điều khiển đơn ô chứa đầy logic, hoặc đơn giản là để hiểu được một công thức mà bạn đã viết sáu tháng trước.
LAMBDA: Tạo Hàm Tùy Chỉnh Của Riêng Bạn Trong Excel
Tôi yêu LAMBDA rất nhiều vì nó cho phép tôi biến một công thức khổng lồ, “xấu xí” thành một thứ gì đó dễ quản lý (chẳng hạn như =GrowthRate(B2, C2)
). Bạn định nghĩa nó một lần, lưu nó với một tên, và tái sử dụng nó trong toàn bộ bảng tính của mình. Khi bạn cần điều chỉnh logic, bạn chỉ cần thay đổi nó ở một vị trí duy nhất (thông qua Name Manager của Excel), và bản cập nhật sẽ áp dụng cho mọi nơi.
Hướng dẫn Tạo Hàm Tùy Chỉnh Đầu Tiên của Bạn
Quy trình này đơn giản hơn bạn nghĩ rất nhiều:
- Mở bảng tính nơi bạn muốn sử dụng hàm tùy chỉnh.
- Thay thế các giá trị thực tế của bạn bằng các tên giữ chỗ (ví dụ: “price” và “rate”).
- Kiểm tra hàm LAMBDA trong bất kỳ ô nào để xem nó có hoạt động không.
- Nhấn Ctrl+F3 để mở Name Manager, nhấp vào New và dán chuỗi LAMBDA của bạn vào trường Refers To.
- Đặt tên bất kỳ cho hàm mới của bạn và thêm bất kỳ chú thích nào có thể hữu ích sau này.
Giờ đây, bạn có thể gõ công thức dưới đây, giống như bất kỳ hàm Excel tích hợp sẵn nào:
=YourFunctionName()
Các hàm LAMBDA được lưu trong một bảng tính cụ thể, vì vậy chúng sẽ không tự động hoạt động trong các tệp khác. Để tái sử dụng chúng trên nhiều tệp, bạn có thể thử tiện ích bổ sung Advanced Formula Environment để nhập hoặc xuất các hàm của mình.
Giả sử bạn là một gia sư tự do và thường xuyên phải tính toán điểm số. Bạn có thể phải sử dụng một công thức như thế này:
=IFS(A1>=80,"Honors", A1>=50,"Pass", A1<50,"Fail")
Thay vì gõ đoạn mã này mỗi lần, bạn có thể tạo một hàm tính điểm gọi là “Score Calculator”:
=LAMBDA(score, IFS(score>=80,"Honors", score>=50,"Pass", score<50,"Fail"))
Lưu hàm này trong Name Manager dưới tên “Calculator”, và giờ đây bạn chỉ cần gõ công thức dưới đây ở bất cứ đâu trong bảng tính của mình:
=Calculator(B2)
Ví dụ hàm LAMBDA "Calculator" trong Excel hiển thị cách tính điểm học sinh tự động
Bạn thậm chí có thể sử dụng LAMBDA cho các hàm phức tạp hơn, như một hàm loại bỏ từng ký tự không mong muốn, hoặc một hàm tiếp tục nhân cho đến khi đạt đến 1 (chỉ vì bạn có thể).
Những hàm phức tạp hơn này có thể trông khó hiểu lúc đầu, nhưng một khi đã được lưu, tất cả các hàm LAMBDA đều trở thành “cắm và chạy”. Và nhờ các chatbot AI, bạn có thể dễ dàng tạo ra các công thức và chuỗi truy vấn mà bạn cần.
LET và LAMBDA: Cặp đôi Quyền lực cho Công thức “Thân thiện” hơn
Khi đứng riêng, LET và LAMBDA đều rất tuyệt vời. Nhưng khi kết hợp chúng lại, chúng tạo thành một cặp đôi quyền lực.
Khi bạn đang tạo một hàm LAMBDA, bạn có thể sử dụng LET bên trong chuỗi để đặt tên cho các phần của logic. Hãy hình dung như bạn đang chia nhỏ một công thức nấu ăn phức tạp thành các bước rõ ràng trước khi nướng chiếc bánh cuối cùng. Bạn sẽ đặt tên cho từng nguyên liệu để mỗi bước đều có ý nghĩa.
Giả sử bạn cần tính diện tích tam giác bằng công thức Heron, một phép tính nổi tiếng là lộn xộn:
=SQRT(((a+b+c)/2)*(((a+b+c)/2)-a)*(((a+b+c)/2)-b)*(((a+b+c)/2)-c))
Chúc may mắn khi bạn phải gỡ lỗi công thức này sáu tháng sau. May mắn thay, với LET và LAMBDA, bạn có thể làm gọn nó:
=LAMBDA(a, b, c, LET(s, (a + b + c) / 2, SQRT(s * (s - a) * (s - b) * (s - c))))
Thay vì lặp lại (a+b+c)/2
bốn lần, giờ đây bạn có s
xuất hiện bốn lần, điều này dễ hiểu hơn nhiều. Hơn nữa, bạn có thể lưu toàn bộ hàm LAMBDA này trong Name Manager. Giờ đây, phép tính lộn xộn đó trở nên dễ đọc, hiệu quả và dễ tái sử dụng.
Kết quả tính diện tích tam giác bằng công thức Heron sử dụng hàm LAMBDA và LET trong Excel
Bạn cũng có thể xây dựng toàn bộ báo cáo bên trong một ô duy nhất bằng cách sử dụng sự kết hợp này. Hãy tưởng tượng một hàm nhận dữ liệu bán hàng của bạn và trả về một bản tóm tắt hàng tháng được định dạng trong một ô duy nhất:
=LAMBDA(p_col, s_col, LET(_total, SUM(s_col), _top, INDEX(p_col, XMATCH(MAX(s_col), s_col)), TEXTJOIN(CHAR(10), TRUE, "Report", "Total: " & TEXT(_total, "$#,##0.00"), "Top: " & _top)))
Lưu hàm này dưới tên “MonthlyReport” và gọi nó bằng công thức dưới đây. Chỉ với một hàm trong một ô, bạn sẽ nhận được một báo cáo hoàn chỉnh.
=MonthlyReport(B:B, C:C)
Một khi bạn bắt đầu sử dụng LET và LAMBDA, bạn sẽ ngừng suy nghĩ như một cỗ máy công thức và bắt đầu suy nghĩ như một người. LET mang lại cấu trúc cho công thức của bạn bằng cách đặt tên cho từng bước, trong khi LAMBDA biến logic thành các hàm có thể tái sử dụng, thân thiện với con người. Cùng nhau, chúng làm cho các công thức Excel dễ viết, dễ đọc và dễ tái sử dụng hơn.
Vậy nên, lần tới khi bạn thấy mình đang viết một công thức trông như thể nó thuộc về một tiểu thuyết khoa học viễn tưởng, hãy dừng lại. Tự hỏi bản thân: “Liệu đây có phải là một LAMBDA không?”. Rất có thể, câu trả lời là có.