28.4 C
Ho Chi Minh City
Friday, June 5, 2026
AIPHOGPT.COM
Trang chủThủ Thuật ExcelExcel LAMBDA vs. SCAN: Đâu là sự khác biệt và cách chúng...

Excel LAMBDA vs. SCAN: Đâu là sự khác biệt và cách chúng phối hợp?

Join LeQuocThai.Com on Telegram Channel

Đánh giá lequocthai.com:

0 / 5 Voted: 0 Votes: 0

Your page rank:

Hai hàm LAMBDA và SCAN của Excel thường bị nhầm lẫn với nhau vì chúng hay xuất hiện cùng lúc trong công thức. Tuy nhiên, chúng hoàn toàn khác biệt: LAMBDA là “bộ não” định nghĩa logic, còn SCAN là “phương tiện” thực thi logic đó. Dưới đây là cách phân biệt chúng.

Các hàm LAMBDA và SCAN có sẵn cho người dùng Excel 2024 trở lên, Excel thuộc Microsoft 365, Excel cho web, hoặc các ứng dụng Excel di động và máy tính bảng mới nhất.

LAMBDA: Tạo logic tùy chỉnh

Lý do hàm LAMBDA của Excel là một cuộc cách mạng là vì nó như một trang giấy trắng. Hầu hết hàm Excel khác có mục đích cố định — SUM luôn cộng, AVERAGE luôn tính trung bình. Nhưng LAMBDA tự thân nó không “làm” gì cả cho đến khi bạn cung cấp chỉ dẫn.

Trong công thức dưới đây, LAMBDA chưa có dữ liệu để xử lý, nên nó trả về lỗi #CALC!:

=LAMBDA(a,b,a*b)
Image 16: Hàm LAMBDA trả về lỗi CALC trong Excel vì chưa được cung cấp dữ liệu để xử lý.

Tuy nhiên, logic của nó đã được định nghĩa: khi nhận hai giá trị (ab), nó sẽ thực hiện phép nhân (a*b). Đây là lý do tôi gọi nó là “bộ não” — nó chứa đựng phần logic, nhưng cần một nguồn bên ngoài cung cấp dữ liệu.

Sức mạnh độc lập của LAMBDA

Bạn có thể phân biệt LAMBDA với SCAN vì nó có thể tồn tại độc lập trong Trình quản lý Tên (Name Manager). Bằng cách lưu một hàm LAMBDA và đặt tên, ví dụ “CalculateMarkup”, bạn đang tạo ra một hàm tùy chỉnh mới, hoạt động như một hàm có sẵn của Excel mà bạn có thể gọi ở bất kỳ đâu trong workbook. Ngược lại, SCAN không thể được lưu theo cách này — nó phải luôn được sử dụng bên trong một công thức khác.

Khám phá:  Cách sử dụng hàm SCAN trong Microsoft Excel để tính tổng lũy kế

SCAN: Duyệt qua dải dữ liệu

Trong khi LAMBDA là về logic, thì SCAN là về chuyển động. Nó là một hàm hỗ trợ, được thiết kế để lần lượt duyệt qua một dải ô trong khi theo dõi một tổng tích lũy hoặc một danh sách đang phát triển. Bản thân SCAN không có logic để thực hiện phép toán — nó chỉ biết cách:

  1. Bắt đầu từ một giá trị khởi tạo.
  2. Di chuyển tuần tự qua một mảng.
  3. Ở mỗi bước, nhờ một hàm LAMBDA cung cấp hướng dẫn.

Vì vậy, cú pháp của nó là:

=SCAN([initial_value],array,LAMBDA)

trong đó:

  • initial_value là giá trị bắt đầu.
  • array là mảng cần được quét.
  • LAMBDA là đối số hàm cho SCAN biết phải làm gì.

Bộ đôi hoạt động như một đội

Sự nhầm lẫn giữa LAMBDA và SCAN phát sinh vì SCAN hầu như luôn là hàm chính trong thanh công thức:

=SCAN(0,T_Sales[Sales],LAMBDA(a,b,a+b))
Image 18: Hàm SCAN với LAMBDA để tính tổng doanh số tích lũy của các widget khác nhau trong Excel.

Mặc dù sử dụng Bảng Excel cho dữ liệu nguồn là phương pháp tốt nhất, công thức SCAN phải được đặt bên ngoài bảng. Lý do là nó tạo ra một mảng tràn (spilled array), mà các Bảng không thể xử lý. Lưu ý: bạn nên để một cột trống giữa Bảng và công thức SCAN để ngăn Bảng tự động mở rộng và “nuốt” mảng kết quả khi bạn nhấn Enter.

Vì LAMBDA nằm trong ngoặc đơn của SCAN, nên dễ nghĩ chúng là một. Tuy nhiên, sự kết hợp này tạo ra một quy trình lặp trong mỗi ô:

  1. SCAN lấy tổng hiện tại và giá trị ô mới.
  2. SCAN chuyển cả hai giá trị này cho LAMBDA.
  3. LAMBDA thực hiện phép tính và trả kết quả về.
  4. SCAN ghi lại kết quả đó và chuyển sang hàng tiếp theo để lặp lại quy trình.

LAMBDA và SCAN không chỉ xử lý toán học

Để thấy rõ sự khác biệt trong tình huống thực tế, hãy xem cách chúng xử lý văn bản. Một phép cộng đơn giản có thể khiến chúng trông giống một công cụ toán học thuần túy, nhưng việc dùng chúng để xây dựng một “dấu vết” (breadcrumb trail) bằng chữ sẽ tiết lộ cách tương tác thực sự.

Khám phá:  Cách dùng hàm LEN trong Excel để đếm ký tự, kèm ví dụ

Giả sử bạn có một cột mã ngữ âm NATO và muốn tạo một chuỗi tích lũy trong cột C.

Image 19: Danh sách mã bảng chữ cái ngữ âm NATO trong một bảng Excel và một vùng 'kết hợp' trống bên phải bảng nơi sẽ nhập công thức.

Bạn sẽ sử dụng công thức sau:

=SCAN("",T_NATO[Phonetic],LAMBDA(a,b,IF(b="",a,IF(a="",b,a&" - "&b))))
Image 20: Hàm SCAN với LAMBDA để tạo một chuỗi mã liên tục từ bảng chữ cái ngữ âm NATO.

Trong ví dụ này, hai hàm đảm nhận vai trò riêng biệt:

  • SCAN quản lý trạng thái ban đầu (chuỗi rỗng “”) và việc duyệt tuần tự qua dải mã. Nhiệm vụ của nó chỉ là xác định “vị trí” và “thời điểm”.
  • LAMBDA đánh giá nội dung từng ô và đưa ra quyết định logic mà SCAN không thể làm. Đầu tiên, nó kiểm tra ô có trống không để tránh thêm dấu phân cách thừa. Nếu ô trống, nó giữ nguyên chuỗi hiện tại. Nếu ô có dữ liệu, nó quyết định nên bắt đầu chuỗi mới hay nối thêm từ mới vào chuỗi hiện có.

Kết quả là một danh sách tràn (spilled list) phát triển theo từng hàng. Điều này chứng minh SCAN là hệ thống phân phối cho mọi logic tùy chỉnh do LAMBDA định nghĩa.

LAMBDA và SCAN tạo tổng tích lũy mạnh mẽ hơn

Nhiều người tình cờ gặp bộ đôi này khi tính tổng tích lũy (running total). Trong Excel cũ, bạn có thể dùng công thức như =SUM($B$2:B2) và kéo xuống.

Vấn đề của phương pháp truyền thống là nó phụ thuộc vào tham chiếu tương đối. Nếu bạn sắp xếp dữ liệu, chèn hàng mới hoặc xóa ô giữa dải, các tham chiếu dễ bị hỏng hoặc trả về lỗi #REF!. Bằng cách kết hợp LAMBDA và SCAN, bạn tạo ra một mảng động duy nhất chỉ nằm trong một ô.

Khám phá:  Định dạng có điều kiện trong Excel

Hãy xem công thức này:

=SCAN(0,T_Inventory[Stock],LAMBDA(a,b,a+b))

Ở đây, hai hàm phân chia trách nhiệm để tránh lỗi:

  • SCAN gắn phép tính vào toàn bộ dải. Vì nó là một công thức duy nhất, bạn không lo các công thức riêng lẻ bị thay đổi hoặc xóa.
  • LAMBDA nắm giữ logic. Nếu cần thay đổi phép toán, bạn chỉ sửa ở một chỗ để cập nhật cả cột.

Image 22: Hàm SCAN với LAMBDA để tính số lượng tồn kho tích lũy của các loại trái cây khác nhau trong Excel.

Một khi bạn hiểu LAMBDA là phần trí tuệ và SCAN là hệ thống phân phối, bạn sẽ không còn xem chúng như một khối mơ hồ duy nhất. Sự phân biệt này là chìa khóa để chuyển từ những công thức kéo xuống dễ vỡ sang các bảng tính mạnh mẽ, tự động cập nhật khi dữ liệu thay đổi.

Tuy nhiên, sự kết hợp giữa hai hàm này chỉ là một cách để xử lý mảng trong Excel hiện đại. Nếu bạn không cần tính tổng tích lũy mà chỉ muốn biến đổi từng ô trong một dải độc lập, bạn nên sử dụng hàm MAP thay thế.

Tags: Excel LAMBDA, Excel SCAN, Excel công thức động

Join LeQuocThai.Com on Telegram Channel

Lê Quốc Thái
Lê Quốc Tháihttps://lequocthai.com/
Yep! I am Le Quoc Thai codename name tnfsmith, one among of netizens beloved internet precious, favorite accumulate sharing all my knowledge and experience Excel, PC tips tricks, gadget news during over decades working in banking data analysis.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây
Captcha verification failed!
CAPTCHA user score failed. Please contact us!

Join LeQuocThai.Com on Telegram Channel

Đọc nhiều nhất

BÀI VIẾT MỚI NHẤT

CÙNG CHỦ ĐỀ