Tìm kiếm trang web

Cách sử dụng LAMBDA trong Excel để tạo các hàm có thể mở rộng và tái sử dụng


Nếu bạn từng thấy mình phải viết lại cùng một logic trong Excel ở những nơi khác nhau, hoặc xây dựng các công thức dài chỉ để tái sử dụng một phần của chúng, bạn không phải là người duy nhất. Khi bảng tính phát triển, các công thức có xu hướng trở nên phức tạp hơn và khó quản lý hơn. Hàm LAMBDA của Excel thay đổi điều đó bằng cách cho phép bạn định nghĩa logic một lần và tái sử dụng nó ở bất cứ đâu bạn cần.

Hàm LAMBDA có sẵn trong Excel cho Microsoft 365 (Windows và Mac), Excel 2024 (Windows và Mac) và Excel cho web.

Việc viết lại cùng một logic ở nhiều nơi sẽ tạo ra các lỗi ẩn

Việc bảo trì trở nên khó khăn hơn khi sổ làm việc của bạn phát triển

Nếu bạn sử dụng Excel thường xuyên, bạn sẽ nhận thấy một mô hình: cùng một logic có xu hướng xuất hiện ở nhiều nơi khác nhau. Đôi khi nó được sao chép qua các sheet, và đôi khi nó được xây dựng lại một chút khác để phù hợp với bối cảnh mới.

Ban đầu, mọi thứ đều hoạt động. Nhưng theo thời gian, những khác biệt nhỏ bắt đầu xuất hiện. Một phiên bản của công thức tham chiếu tới một phạm vi hơi khác, và phiên bản khác được cập nhật trong khi bản sao ở nơi khác thì không. Không có gì nhìn có vẻ sai một cách rõ ràng, nhưng kết quả lại ngừng khớp nhau—và bây giờ bạn phải lần theo logic qua nhiều tab để tìm ra những gì đã thay đổi.

Đây là cách LAMBDA khắc phục những vấn đề này.

LAMBDA biến các công thức tiêu chuẩn thành các hàm tùy chỉnh

Nó thay đổi cách cấu trúc logic của Excel

LAMBDA biến các công thức Excel thành các hàm có thể tái sử dụng. Thay vì sao chép logic khắp sổ làm việc của bạn, bạn chỉ cần định nghĩa nó một lần và tái sử dụng bất cứ nơi nào bạn cần.

Một LAMBDA có hai phần: tham số (đầu vào) và một phép tính (logic được thực hiện trên các đầu vào đó):

=LAMBDA(parameter1, parameter2, ..., calculation)

Ở mức đơn giản nhất, một LAMBDA với một tham số có thể trông như sau:

=LAMBDA(x, x*1.2)

trong đó x là ký hiệu đại diện cho bất kỳ ô hoặc giá trị nào mà bạn cuối cùng sẽ đưa vào hàm. Tự nó, công thức này thực sự sẽ hiển thị lỗi #CALC!, vì nó có logic nhưng không có gì để tính toán. Để thử nghiệm nó trong một ô, bạn phải "gọi" nó ngay lập tức bằng cách thêm đầu vào trong dấu ngoặc đơn:

=LAMBDA(x, x*1.2)([@Price])



Giá trị thực sự xuất hiện khi bạn đặt tên cho nó. Sử dụng Trình quản lý Tên của Excel (thông qua tab Công thức hoặc Ctrl+F3), bạn có thể gán cho logic đó một tên, sau đó gọi nó như bất kỳ hàm tích hợp sẵn nào:

=ADD_TAX([@Price])





Nó hiện nay hoạt động giống như một công cụ gốc của Excel — bạn chỉ định nó một lần và sử dụng lại ở bất cứ đâu. Điều này quan trọng nhất nếu bạn cần điều chỉnh một mức thuế hoặc quy tắc: bạn chỉ làm điều đó ở một nơi, và mọi trường hợp sẽ được cập nhật tự động.

LAMBDA giải quyết các vấn đề thường gặp hàng ngày trong bảng tính

Tập trung vào những mẫu nhỏ để tạo ra ảnh hưởng lớn nhất

LAMBDA không chỉ dành cho người dùng nâng cao hoặc các mô hình phức tạp. Phần lớn giá trị của nó xuất hiện trong công việc bảng tính hàng ngày, nơi bạn nhận thấy cùng một logic xuất hiện nhiều lần.

Để theo dõi khi bạn đọc các ví dụ dưới đây, hãy tải xuống một bản sao miễn phí của sổ làm việc Excel. Sau khi bạn nhấp vào liên kết, bạn sẽ thấy nút tải xuống ở góc trên bên phải của màn hình, và khi bạn mở tệp, bạn có thể truy cập từng ví dụ trên một tab bảng tính riêng.

Ví dụ 1: Tinh giản các phép tính

Các hệ số chuẩn thì dễ, nhưng các phép tính nhiều bước—như thêm một biên độ lợi nhuận rồi sau đó là một khoản phí xử lý cố định—trở nên rối khi sao chép qua các bảng. Bằng cách kết hợp LAMBDA với các biến được định nghĩa sẵn, bạn có thể quản lý toàn bộ phép tính từ một nơi duy nhất.

Tình huống: Bạn cần tính giá niêm yết dựa trên chi phí. Quy tắc của bạn là áp dụng mức tăng giá 25%, sau đó cộng thêm phí xử lý cố định 5,00 USD. Bạn đã xác định các biến: ô B2 được đặt tên là Margin, và ô B3 được đặt tên là HandlingFee.

Nếu bạn tuân theo quy tắc ba tab, các biến sẽ được đặt trong một bảng tính riêng. Tuy nhiên, tôi đã đặt chúng trong cùng một bảng tính ở đây để ví dụ dễ theo dõi hơn.

Đây là các bước bạn cần thực hiện:

  1. Mở Trình quản lý Tên trong tab Công thức.
  2. Nhấp vào Mới.
  3. Trong trường Name, hãy nhập GET_LIST_PRICE, và trong trường Refers to, hãy nhập =LAMBDA(cost, (cost * (1 + Margin)) + HandlingFee).
  4. Sau khi nhấp vào OK và Đóng để xác nhận, gõ =GET_LIST_PRICE([@Cost]) vào ô đầu tiên của cột Giá niêm yết và nhấn Enter. Điều này sẽ tính toán giá niêm yết cho mỗi hàng sử dụng logic bạn đã định nghĩa, mà không cần phải xây dựng lại hoặc sao chép công thức sang chỗ khác.





Nếu sau này bạn quyết định tỷ suất lợi nhuận nên là 30% hoặc phí xử lý nên là 7,00 đô la, bạn chỉ cần cập nhật một ô duy nhất, và thay đổi sẽ được áp dụng ở mọi nơi mà hàm được sử dụng.

Ví dụ 2: Chuẩn hóa việc dọn dẹp và định dạng dữ liệu

Dữ liệu hiếm khi đến ở trạng thái "sẵn sàng sử dụng", vì vậy bạn thường kết hợp nhiều hàm văn bản để sửa các vấn đề như khoảng trắng thừa hoặc viết hoa không nhất quán. LAMBDA cho phép bạn gộp các bước dọn dẹp này thành một hàm có thể tái sử dụng.

Tình huống: Bạn thường nhập các danh sách liên hệ mà tên lộn xộn, chứa các khoảng trắng ở đầu và cuối, và có sự kết hợp giữa chữ hoa và chữ thường. Bạn muốn chuẩn hóa những tên này vào một cột mới.

Đây là quy trình làm việc một lần duy nhất mà bạn cần:

  1. Trong Trình Quản Lý Tên (tab Công Thức), tạo một tên mới gọi là CLEAN_NAME.
  2. Sử dụng công thức logic: =LAMBDA(text, PROPER(TRIM(text))).
  3. Áp dụng hàm trong bảng dữ liệu của bạn: =CLEAN_NAME([@Name]).




Bây giờ, bạn có một "nguồn sự thật" duy nhất cho cách dữ liệu được xử lý. Nếu các yêu cầu thay đổi (chẳng hạn như chuyển sang chữ hoa toàn bộ), bạn chỉ cần đổi PROPER thành UPPER trong Trình quản lý Tên, và mọi tên trong toàn bộ sổ làm việc của bạn sẽ tự động chỉnh sửa ngay lập tức.

Thông thường có hơn một cách để thực hiện một hành động trong Excel. Ví dụ, bạn cũng có thể chuẩn hóa dữ liệu bằng Power Query và Python. Điều quan trọng là chọn cách phù hợp nhất với quy trình làm việc của bạn.

Ví dụ 3: Đơn giản hóa logic nhiều bước

Các kiểm tra logic phức tạp thường yêu cầu các câu lệnh IF lồng nhau sâu hoặc nhiều cột trợ giúp. LAMBDA cho phép bạn gói gọn sự phức tạp đó thành một tên duy nhất, có tính mô tả.

Tình huống: Bạn cần xác định trạng thái vận chuyển dựa trên số ngày chậm trễ và giá trị đơn hàng. Nếu chậm hơn ba ngày và giá trị trên 100 đô la, thì là "Ưu tiên." Ngược lại, là "Tiêu chuẩn."

Điều này trông phức tạp, nhưng thiết lập nhanh chóng:

  1. Đi đến Công thức > Trình quản lý Tên, sau đó tạo một hàm mới có tên CHECK_STATUS.
  2. Xác định các tham số và logic: =LAMBDA(days, value, IF(AND(days > 3, value > 100), "Ưu tiên", "Tiêu chuẩn")).
  3. Nhập công thức tùy chỉnh mới của bạn vào bảng theo dõi: =CHECK_STATUS([@[Days Late]], [@[Order Value]]).




Điều này đảm bảo rằng thanh công thức luôn sạch sẽ, và bạn có thể yên tâm rằng quy tắc được áp dụng chính xác theo cùng một cách trên mỗi hàng. Nếu bạn cần cập nhật các ngưỡng, chỉ cần chỉnh sửa các số trong Trình quản lý Tên.

Các cột phụ vẫn hữu ích—chúng cho phép bạn lọc theo các cấp độ tính toán, thêm slicer vào báo cáo và cung cấp cho PivotTable các trường để nhóm và phân tích. Như mọi khi, hãy chọn cách tiếp cận phù hợp với dữ liệu và mục tiêu của bạn.


Một sự thay đổi trong cách Excel hoạt động

Sự xuất hiện của LAMBDA trong Excel đã biến phần mềm từ một bảng dữ liệu đơn giản thành thứ gì đó gần gũi hơn với môi trường lập trình. Bằng cách coi logic của bạn như các khối xây dựng có thể tái sử dụng thay vì các phép tính một lần, bạn bắt đầu tạo ra các bảng tính dễ quản lý và điều chỉnh hơn khi chúng phát triển.

Khi bạn vượt ra ngoài việc sao chép công thức cơ bản, việc sử dụng các hàm trợ giúp LAMBDA là bước tiếp theo để mở rộng logic đó trên các tập dữ liệu lớn hơn.

Bài viết liên quan