Hàm LAMBDA() của Excel mở ra khả năng sử dụng công thức tùy chỉnh. Bạn có thể gói bất kỳ phép tính nào, đặt tên cho nó và tái sử dụng ở bất cứ đâu trong sổ làm việc.
Điều này có nghĩa là bạn không phải sao chép cùng một công thức lặp đi lặp lại. Thay vào đó, bạn có thể dùng LAMBDA() để làm cho bảng tính gọn gàng, dễ bảo trì hơn và, theo tôi, còn dễ dùng hơn cả VBA một chút.
Vì sao nên dùng Excel LAMBDA()?
Về cốt lõi, LAMBDA() cho phép bạn bọc bất kỳ công thức nào trong một hàm do bạn định nghĩa. Bạn cung cấp tham số đầu vào (giống như đối số trong SUM() hoặc VLOOKUP()) rồi gọi hàm mới với các tham số đó bất cứ khi nào cần. Cấu trúc như sau:
=LAMBDA(parameter1, parameter2, ..., calculation)Được hỗ trợ bởi
Bạn có thể thử nghiệm công thức LAMBDA() trực tiếp trong một ô, nhưng sức mạnh thật sự đến khi bạn lưu nó thành một hàm được đặt tên. Khi đã đặt tên, hàm tùy chỉnh của bạn sẽ xuất hiện trong sổ làm việc giống như SUM(), AVERAGE() và các hàm khác.
Dưới đây là vài lý do thuyết phục để đưa LAMBDA() vào quy trình làm việc:
Loại bỏ công thức lặp lại. Thay vì viết lại một công thức phức tạp ở khắp nơi, hãy biến nó thành một hàm và gọi theo tên.
Làm bảng tính dễ hiểu hơn. Các hàm được đặt tên dễ hiểu hơn nhiều đối với bạn và cộng sự so với một công thức rối rắm lặp đi lặp lại.
Kết hợp với các hàm mới khác. LAMBDA() hoạt động rất tốt cùng LET(), MAP(), REDUCE() và các tính năng Excel hiện đại khác.
Giảm lỗi. Khi logic đã được kiểm thử và bọc trong LAMBDA(), bạn có thể tái sử dụng — không còn lỗi gõ do sao chép công thức.
Cách tạo một hàm Excel LAMBDA()
Giống như mọi thứ, điều này cần luyện tập. Hãy cùng xây dựng các hàm LAMBDA() của riêng mình.
Hãy tưởng tượng bạn đang tính diện tích hình tròn từ bán kính và thường xuyên gõ =PI()*A1^2.
Trước hết, thử xây dựng và chạy một công thức LAMBDA() trực tiếp trong một ô:
Ở đây, chúng ta đã tạo một hàm LAMBDA() nhận r làm tham số và trả về diện tích hình tròn. Dấu (3) ở cuối cung cấp bán kính, nên công thức này tính diện tích cho hình tròn có bán kính 3.
Tất nhiên, mỗi lần gõ cả LAMBDA() như vậy cũng không cải thiện nhiều so với công thức ban đầu. Nhưng hãy kiên nhẫn vì phần hàm đặt tên sẽ phát huy tác dụng:
Bạn đã tạo được một hàm tùy chỉnh có thể tái sử dụng.
Cú pháp và tham số của Excel LAMBDA()
LAMBDA() có thể nhận bất kỳ số lượng tham số nào (tối đa theo giới hạn 253 của Excel), mỗi tham số cách nhau bằng dấu phẩy. (Dĩ nhiên bạn hiếm khi dùng đến nhiều như vậy.)
Lưu ý rằng đối số cuối cùng luôn là phép tính, và phép tính này có thể dùng bất kỳ tham số nào bạn đã định nghĩa.
=LAMBDA(parameter1, parameter2, ..., calculation)Được hỗ trợ bởi
Ví dụ, nếu bạn muốn tạo một hàm trả về số lớn hơn trong hai số, bạn có thể viết:
Công thức này trả về 7, là giá trị lớn hơn trong hai đầu vào.
Ví dụ cụ thể hơn về Excel LAMBDA()
Hãy tiếp tục luyện tập.
Excel LAMBDA() với nhiều tham số
Tiếp theo, hãy làm việc với các hàm nhận nhiều đầu vào. Cũng như trước, chúng ta ngăn cách tham số bằng dấu phẩy, và khi gọi hàm phải truyền đúng số lượng đối số tương ứng.
Ở đây, MAP() áp dụng hàm LAMBDA() của bạn cho từng phần tử trong A1:A5. Điều này rất hữu ích cho các phép tính hàng loạt.
(Công thức trên chỉ nhân đôi giá trị trong vùng nếu giá trị lớn hơn 10.)
(Một điểm hay nữa là bạn chỉ cần viết công thức một lần ở ô B1, các ô bên dưới sẽ tự động điền.)
Mẹo nâng cao với Excel LAMBDA()
Dưới đây là vài mẹo từ kinh nghiệm.
Kiểm thử hàm Excel LAMBDA() trước khi đặt tên
Trước khi đặt tên và lưu LAMBDA(), tốt nhất bạn nên kiểm thử trực tiếp trong một ô. Bạn có thể làm điều này bằng cách thêm các đối số thử nghiệm trong ngoặc đơn, giống như khi gọi bất kỳ hàm nào:
Nếu bạn quên truyền đối số khi kiểm thử, chẳng hạn chỉ gõ =LAMBDA(x, x*2), Excel sẽ hiển thị chính hàm thay vì kết quả. Hãy luôn nhớ thêm cặp ngoặc cuối cùng với giá trị đầu vào.
Một vài lưu ý
Tạm dừng để xem các giới hạn:
Các hàm LAMBDA() có phạm vi trong sổ làm việc. Nếu muốn dùng hàm tùy chỉnh ở sổ làm việc khác, bạn cần sao chép chúng, hoặc dùng tính năng Named Functions mới của Excel nếu có.
Bạn không thể dùng LAMBDA() để tạo các hàm biến thiên (volatile) như NOW() hoặc RAND().
Truyền sai số lượng đối số khi gọi LAMBDA() sẽ dẫn tới lỗi #VALUE!, nên hãy luôn kiểm tra kỹ đầu vào.
Không phải mọi phiên bản Excel đều hỗ trợ LAMBDA(). Bạn cần Microsoft 365 hoặc phiên bản web mới nhất để sử dụng các tính năng này.
LAMDA() và các hàm khác
Cuối cùng, hãy cân nhắc LAMBDA() bên cạnh các cách làm khác.
Khi nào nên dùng Excel LAMBDA()?
Sau tất cả những gì đã bàn, bạn có thể tự hỏi, khi nào LAMBDA() là công cụ phù hợp? Hãy dùng LAMBDA() khi:
Bạn có các công thức phức tạp hoặc lặp lại muốn đơn giản hóa.
Có logic bạn muốn đặt tên và giải thích.
Bạn cần các phép tính hoặc logic tùy chỉnh mà Excel không cung cấp sẵn.
Theo tôi, LAMBDA() đặc biệt hữu ích cho các nhóm, nhất là khi tên hàm rõ ràng. Khi đó, các thành viên sẽ thấy ngay logic đang làm gì mà không phải lần theo công thức để hiểu.
Các hàm Excel liên quan
Sẽ hữu ích nếu bạn quen với các hàm Excel mới khác bổ trợ cho LAMBDA(). Dưới đây là một vài hàm. Một số đã được nhắc ở trên.
LET(): Gán tên cho các phép tính bên trong công thức
MAP(): Áp dụng một LAMBDA() cho từng phần tử trong mảng
REDUCE(): Thu gọn một mảng về một giá trị duy nhất bằng LAMBDA()
BYROW(), BYCOL(): Áp dụng một LAMBDA() theo hàng hoặc theo cột
Khi kết hợp với LAMBDA(), các hàm này mở khóa những logic và phép biến đổi dữ liệu tinh vi hơn. Học khóa Advanced Excel Functions để tìm hiểu những hàm thực sự hữu ích mà Excel mang đến.
Kết luận
Như chúng ta đã thấy và thực hành, Excel LAMBDA() cho phép bạn xây dựng các hàm trang tính của riêng mình mà không cần đụng đến VBA. Hãy dùng LAMBDA() nếu bạn thường xuyên viết cùng một phép tính ở nhiều nơi, hoặc muốn thuần hóa các công thức phức tạp.
Và đừng quên học khóa Advanced Excel Functions để làm việc với Excel nhanh và thông minh hơn. Nếu bạn là nhà phân tích tài chính hoặc muốn trở thành một người như vậy, hãy học thêm khóa Financial Modeling in Excel. Các hàm LAMDA() sẽ đặc biệt hữu ích trong lĩnh vực tài chính.
Tác giả
Josef Waples
Tôi là một cây bút và biên tập viên về khoa học dữ liệu, đã có bài đóng góp cho các nghiên cứu đăng trên tạp chí khoa học. Tôi đặc biệt quan tâm đến đại số tuyến tính, thống kê, R và các chủ đề tương tự. Tôi cũng chơi cờ vua khá thường xuyên!
Làm chủ Power Pivot trong Excel để nhập dữ liệu, tạo quan hệ và sử dụng DAX. Xây dựng bảng điều khiển động để khám phá thông tin chi tiết có thể hành động.
Hàm
LAMBDA()của Excel mở ra khả năng sử dụng công thức tùy chỉnh. Bạn có thể gói bất kỳ phép tính nào, đặt tên cho nó và tái sử dụng ở bất cứ đâu trong sổ làm việc.Điều này có nghĩa là bạn không phải sao chép cùng một công thức lặp đi lặp lại. Thay vào đó, bạn có thể dùng
LAMBDA()để làm cho bảng tính gọn gàng, dễ bảo trì hơn và, theo tôi, còn dễ dùng hơn cả VBA một chút.Vì sao nên dùng Excel LAMBDA()?
Về cốt lõi,
LAMBDA()cho phép bạn bọc bất kỳ công thức nào trong một hàm do bạn định nghĩa. Bạn cung cấp tham số đầu vào (giống như đối số trong SUM() hoặcVLOOKUP()) rồi gọi hàm mới với các tham số đó bất cứ khi nào cần. Cấu trúc như sau:Bạn có thể thử nghiệm công thức
LAMBDA()trực tiếp trong một ô, nhưng sức mạnh thật sự đến khi bạn lưu nó thành một hàm được đặt tên. Khi đã đặt tên, hàm tùy chỉnh của bạn sẽ xuất hiện trong sổ làm việc giống nhưSUM(),AVERAGE()và các hàm khác.Dưới đây là vài lý do thuyết phục để đưa
LAMBDA()vào quy trình làm việc:Loại bỏ công thức lặp lại. Thay vì viết lại một công thức phức tạp ở khắp nơi, hãy biến nó thành một hàm và gọi theo tên.
Làm bảng tính dễ hiểu hơn. Các hàm được đặt tên dễ hiểu hơn nhiều đối với bạn và cộng sự so với một công thức rối rắm lặp đi lặp lại.
Kết hợp với các hàm mới khác.
LAMBDA()hoạt động rất tốt cùngLET(),MAP(),REDUCE()và các tính năng Excel hiện đại khác.Giảm lỗi. Khi logic đã được kiểm thử và bọc trong
LAMBDA(), bạn có thể tái sử dụng — không còn lỗi gõ do sao chép công thức.Cách tạo một hàm Excel LAMBDA()
Giống như mọi thứ, điều này cần luyện tập. Hãy cùng xây dựng các hàm
LAMBDA()của riêng mình.Hãy tưởng tượng bạn đang tính diện tích hình tròn từ bán kính và thường xuyên gõ
=PI()*A1^2.Trước hết, thử xây dựng và chạy một công thức
LAMBDA()trực tiếp trong một ô:Ở đây, chúng ta đã tạo một hàm
LAMBDA()nhậnrlàm tham số và trả về diện tích hình tròn. Dấu (3) ở cuối cung cấp bán kính, nên công thức này tính diện tích cho hình tròn có bán kính 3.Tất nhiên, mỗi lần gõ cả
LAMBDA()như vậy cũng không cải thiện nhiều so với công thức ban đầu. Nhưng hãy kiên nhẫn vì phần hàm đặt tên sẽ phát huy tác dụng:Vào Formulas > Name Manager > New.
Chọn tên cho hàm, chẳng hạn
CircleArea.Trong ô Refers to, nhập:
Giờ bạn có thể dùng hàm tùy chỉnh của mình trong toàn bộ sổ làm việc:
Bạn đã tạo được một hàm tùy chỉnh có thể tái sử dụng.
Cú pháp và tham số của Excel LAMBDA()
LAMBDA()có thể nhận bất kỳ số lượng tham số nào (tối đa theo giới hạn 253 của Excel), mỗi tham số cách nhau bằng dấu phẩy. (Dĩ nhiên bạn hiếm khi dùng đến nhiều như vậy.)Lưu ý rằng đối số cuối cùng luôn là phép tính, và phép tính này có thể dùng bất kỳ tham số nào bạn đã định nghĩa.
Ví dụ, nếu bạn muốn tạo một hàm trả về số lớn hơn trong hai số, bạn có thể viết:
Sau khi lưu thành một hàm đặt tên —
MaxOfTwolà một tên hợp lý — bạn sẽ dùng nó như bất kỳ hàm Excel nào khác:Công thức này trả về
7, là giá trị lớn hơn trong hai đầu vào.Ví dụ cụ thể hơn về Excel LAMBDA()
Hãy tiếp tục luyện tập.
Excel LAMBDA() với nhiều tham số
Tiếp theo, hãy làm việc với các hàm nhận nhiều đầu vào. Cũng như trước, chúng ta ngăn cách tham số bằng dấu phẩy, và khi gọi hàm phải truyền đúng số lượng đối số tương ứng.
Để cộng hai số:
Công thức này trả về
13.Nếu bạn quyết định biến điều này thành một hàm đặt tên là
AddTwo, bạn có thể dùng nó trong toàn bộ sổ làm việc như sau:Giờ bạn đã có một hàm cộng tùy chỉnh.
Dọn sạch logic lặp lại
Giả sử bạn đang tính hoa hồng với công thức này ở nhiều nơi:
Thay vì sao chép công thức này ở mọi chỗ cần dùng, bạn có thể đóng gói logic bằng
LAMBDA():Đặt tên hàm này là
Commission, và giờ bạn có thể dùng:Nếu cần thay đổi logic hoa hồng, bạn chỉ phải cập nhật
LAMBDA()ở một chỗ, và mọi công thức dùngCommissioncũng sẽ được cập nhật.Đệ quy và hàm lồng nhau
LAMBDA()hỗ trợ đệ quy, nghĩa là một hàm có thể tự gọi lại chính nó. Điều này mở khóa những ý tưởng mới, như các phép gộp tùy chỉnh.Ví dụ, đây là cách bạn có thể định nghĩa một hàm giai thừa đệ quy:
Bạn sẽ lưu nó thành một hàm đặt tên, và nó hoạt động giống hệt các hàm đệ quy trong lập trình. (Về tên, tôi sẽ chọn tên rõ ràng như
Factorial.)LAMBDA() với các hàm mảng động khác
LAMBDA()có thể kết hợp với các hàm Excel động khác nhưLET(),MAP()vàREDUCE().LET()cho phép bạn gán và tái sử dụng biến trong công thức, trong khiMAP()vàREDUCE()áp dụng cácLAMBDA()trên mảng hoặc danh sách.Ví dụ, để nhân đôi mọi giá trị trong một vùng:
Ở đây,
MAP()áp dụng hàmLAMBDA()của bạn cho từng phần tử trongA1:A5. Điều này rất hữu ích cho các phép tính hàng loạt.(Công thức trên chỉ nhân đôi giá trị trong vùng nếu giá trị lớn hơn 10.)
(Một điểm hay nữa là bạn chỉ cần viết công thức một lần ở ô B1, các ô bên dưới sẽ tự động điền.)
Mẹo nâng cao với Excel LAMBDA()
Dưới đây là vài mẹo từ kinh nghiệm.
Kiểm thử hàm Excel LAMBDA() trước khi đặt tên
Trước khi đặt tên và lưu
LAMBDA(), tốt nhất bạn nên kiểm thử trực tiếp trong một ô. Bạn có thể làm điều này bằng cách thêm các đối số thử nghiệm trong ngoặc đơn, giống như khi gọi bất kỳ hàm nào:Công thức này trả về
10, đúng như kỳ vọng.Nếu bạn quên truyền đối số khi kiểm thử, chẳng hạn chỉ gõ
=LAMBDA(x, x*2), Excel sẽ hiển thị chính hàm thay vì kết quả. Hãy luôn nhớ thêm cặp ngoặc cuối cùng với giá trị đầu vào.Một vài lưu ý
Tạm dừng để xem các giới hạn:
Các hàm
LAMBDA()có phạm vi trong sổ làm việc. Nếu muốn dùng hàm tùy chỉnh ở sổ làm việc khác, bạn cần sao chép chúng, hoặc dùng tính năng Named Functions mới của Excel nếu có.Bạn không thể dùng
LAMBDA()để tạo các hàm biến thiên (volatile) nhưNOW()hoặcRAND().Truyền sai số lượng đối số khi gọi
LAMBDA()sẽ dẫn tới lỗi#VALUE!, nên hãy luôn kiểm tra kỹ đầu vào.Không phải mọi phiên bản Excel đều hỗ trợ
LAMBDA(). Bạn cần Microsoft 365 hoặc phiên bản web mới nhất để sử dụng các tính năng này.LAMDA() và các hàm khác
Cuối cùng, hãy cân nhắc
LAMBDA()bên cạnh các cách làm khác.Khi nào nên dùng Excel LAMBDA()?
Sau tất cả những gì đã bàn, bạn có thể tự hỏi, khi nào
LAMBDA()là công cụ phù hợp? Hãy dùngLAMBDA()khi:Theo tôi,
LAMBDA()đặc biệt hữu ích cho các nhóm, nhất là khi tên hàm rõ ràng. Khi đó, các thành viên sẽ thấy ngay logic đang làm gì mà không phải lần theo công thức để hiểu.Các hàm Excel liên quan
Sẽ hữu ích nếu bạn quen với các hàm Excel mới khác bổ trợ cho
LAMBDA(). Dưới đây là một vài hàm. Một số đã được nhắc ở trên.LET(): Gán tên cho các phép tính bên trong công thứcMAP(): Áp dụng mộtLAMBDA()cho từng phần tử trong mảngREDUCE(): Thu gọn một mảng về một giá trị duy nhất bằngLAMBDA()BYROW(),BYCOL(): Áp dụng mộtLAMBDA()theo hàng hoặc theo cộtKhi kết hợp với
LAMBDA(), các hàm này mở khóa những logic và phép biến đổi dữ liệu tinh vi hơn. Học khóa Advanced Excel Functions để tìm hiểu những hàm thực sự hữu ích mà Excel mang đến.Kết luận
Như chúng ta đã thấy và thực hành, Excel
LAMBDA()cho phép bạn xây dựng các hàm trang tính của riêng mình mà không cần đụng đến VBA. Hãy dùngLAMBDA()nếu bạn thường xuyên viết cùng một phép tính ở nhiều nơi, hoặc muốn thuần hóa các công thức phức tạp.Và đừng quên học khóa Advanced Excel Functions để làm việc với Excel nhanh và thông minh hơn. Nếu bạn là nhà phân tích tài chính hoặc muốn trở thành một người như vậy, hãy học thêm khóa Financial Modeling in Excel. Các hàm LAMDA() sẽ đặc biệt hữu ích trong lĩnh vực tài chính.