32.8 C
Ho Chi Minh City
Thursday, June 4, 2026
AIPHOGPT.COM
Trang chủCông thức ExcelHướng dẫn sử dụng hàm REDUCE trong Microsoft Excel

Hướng dẫn sử dụng hàm REDUCE trong Microsoft Excel

Join LeQuocThai.Com on Telegram Channel

Đánh giá lequocthai.com:

0 / 5 Voted: 0 Votes: 0

Your page rank:

Trước đây, VBA là cách duy nhất để xử lý các logic lặp đi lặp lại và nhiều bước trong Microsoft Excel. Nhưng giờ đây đã khác. Hàm REDUCE đưa sức mạnh của lập trình hàm trực tiếp vào các ô tính, cho phép bạn thu gọn dữ liệu phức tạp, lộn xộn thành những kết quả đơn giản và gọn gàng.

Cho dù bạn đang cần loại bỏ các ký tự không mong muốn hay xây dựng một công cụ tìm kiếm linh hoạt, REDUCE cho phép bạn tạo ra các “bộ xử lý” dữ liệu thông minh, có khả năng tự động điều chỉnh khi bảng tính của bạn mở rộng.

Hàm REDUCE có sẵn cho người dùng Microsoft Excel 365, Excel trên web và các ứng dụng Excel di động, máy tính bảng mới nhất.

Cú pháp hàm REDUCE: Hiểu qua phép ẩn dụ “quả cầu tuyết”

Hàm REDUCE có vẻ phức tạp vì nó yêu cầu một hàm LAMBDA, nhưng logic của nó khá trực quan nếu bạn hình dung qua một phép so sánh. Đây là cú pháp:

=REDUCE(giá_trị_khởi_đầu, mảng, LAMBDA(a,v,phép_tính))

Để hiểu cách nó hoạt động, hãy tưởng tượng một quả cầu tuyết lăn xuống núi:

  • Giá trị khởi đầu (initial_value): Đây là kích thước ban đầu của quả cầu tuyết trước khi lăn.
  • Mảng (array): Đây là con đường xuống núi, gồm nhiều “chặng đường” (các phần tử trong mảng).
  • Hàm LAMBDA: Đây là quy tắc xác định điều gì xảy ra mỗi khi quả cầu tuyết đi qua một chặng đường mới. Nó có hai biến:
  • a (accumulator – bộ tích lũy): Đây là quả cầu tuyết hiện tại, chứa kết quả của tất cả các vòng lặp trước đó.
  • v (value – giá trị): Đây là “chặng đường” hiện tại mà quả cầu tuyết đang đi qua (một ô hoặc giá trị từ mảng).

Điểm mấu chốt là REDUCE có tính chất tích lũy. Không giống các hàm thông thường xử lý từng ô độc lập, REDUCE biết chính xác điều gì đã xảy ra ở mỗi bước trước đó.

Hình 3: Biểu tượng lambda ở bên trái, một công thức Excel ở giữa và một máy tính xách tay với bảng tính bị làm mờ ở phía sau.

Ví dụ đơn giản để bắt đầu: Dùng REDUCE để tính tổng

Giả sử bạn có một bảng Excel tên là T_Số chứa các số từ 1 đến 5.

Hình 4: Một bảng Excel với một cột tên 'Numbers' và các số từ 1 đến 5 chiếm các hàng riêng lẻ, liên tiếp.

Đây là công thức tính tổng chúng:

=REDUCE(0, T_Số, LAMBDA(a, v, a+v))
Hình 5: Hàm REDUCE được sử dụng trong Excel để cộng các số được lưu trữ trong một bảng Excel một cột.

Quá trình diễn ra như sau:

  1. Vòng lặp 1: a = 0 (giá trị đầu), v = 1. Phép tính a+v trả về 1. Bây giờ a = 1.
  2. Vòng lặp 2: a = 1, v = 2. Phép tính trả về 3. Bây giờ a = 3.
  3. Vòng lặp 3: a = 3, v = 3. Phép tính trả về 6. Bây giờ a = 6.
  4. Vòng lặp 4: a = 6, v = 4. Phép tính trả về 10. Bây giờ a = 10.
  5. Vòng lặp 5: a = 10, v = 5. Phép tính trả về 15. Bây giờ a = 15.
Khám phá:  Hàm EOMONTH trong Excel – Cách Sử Dụng

Hàm kết thúc sau khi duyệt hết danh sách và trả về kết quả cuối cùng là 15.

REDUCE đòi hỏi nhiều tài nguyên xử lý hơn các hàm thông thường do cơ chế lặp của nó. Nếu một hàm tích hợp sẵn được tối ưu hóa cho tốc độ, như SUM hoặc AVERAGE, có thể làm được việc, hãy ưu tiên dùng chúng. Chỉ sử dụng REDUCE khi mỗi bước tính toán phụ thuộc vào kết quả của bước trước đó.

Trong ví dụ này, “quả cầu tuyết” là một con số ngày càng lớn thông qua phép cộng. Sức mạnh thực sự của REDUCE thể hiện khi bạn nhận ra bộ tích lũy (a) có thể chứa bất kỳ loại dữ liệu nào. Trong các ví dụ thực tế sau, bạn sẽ thấy bộ tích lũy có thể “làm sạch” chuỗi văn bản hoặc theo dõi các trạng thái logic.

Ví dụ thực tế 1: Công cụ xóa linh hoạt nhiều loại ký tự

Giả sử bạn có một danh sách mã trong bảng Excel và muốn làm sạch chúng bằng cách loại bỏ tất cả dấu gạch ngang, ngoặc đơn, dấu chấm, dấu cộng và khoảng trắng.

Hình 6: Một bảng Excel với tên sản phẩm ở cột A, mã ở cột B và một cột 'Cleaned' trống ở cột C.

Bạn có thể nghĩ đến việc lồng nhiều hàm SUBSTITUTE vào nhau:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE([@Code],"-",""),"(",""),")",""),".",""),"+","")," ","")
Hình 7: Các công thức SUBSTITUTE lồng nhau trong Excel được sử dụng để làm sạch mã sản phẩm khỏi khoảng trắng và các ký tự không mong muốn.

Tuy nhiên, công thức này khó đọc, dễ sai sót và rất cồng kềnh. Hơn nữa, nếu sau này bạn muốn loại bỏ thêm dấu hai chấm hoặc dấu thăng, bạn phải tự sửa công thức, thêm nhiều hàm SUBSTITUTE lồng nhau cùng các cặp ngoặc đơn tương ứng.

Hình 8: Một máy tính xách tay với ứng dụng Microsoft Excel.

Với REDUCE, bạn có thể dùng đối số mảng để liệt kê các ký tự cần loại bỏ. Excel sẽ lặp qua danh sách này và làm sạch văn bản từng ký tự một.

Đầu tiên, tạo một bảng tên T_Ký_tự và liệt kê tất cả ký hiệu bạn muốn loại bỏ. Hàng thứ sáu là một khoảng trắng.

Hình 9: Một bảng Excel với các mã sản phẩm lộn xộn và một bảng riêng với danh sách các ký tự cần được loại bỏ khỏi những mã đó.

Sau đó, trong bảng chính, nhập công thức sau và nhấn Enter:

=REDUCE([@Code], T_Ký_tự[Characters], LAMBDA(a, v, SUBSTITUTE(a, v, "")))
Hình 10: Hàm REDUCE được sử dụng trong Excel để làm sạch mã khỏi các ký tự được xác định trong một bảng riêng.

Cách thức hoạt động:

  1. Giá trị khởi đầu (a): Bạn bắt đầu với mã gốc ở hàng hiện tại ([@Code]). Đây là “quả cầu tuyết” ban đầu.
  2. Mảng (v): Đây là cột T_Ký_tự[Characters]. Excel sẽ duyệt qua từng ký tự trong danh sách này.
  3. Vòng lặp: Ở vòng 1, REDUCE lấy mã và thay thế ký tự đầu tiên trong danh sách (dấu gạch ngang) bằng chuỗi rỗng (“”). Ở vòng 2, nó lấy mã đã được làm sạch một phần đó và loại bỏ ký tự tiếp theo (dấu ngoặc đơn mở). Hàm tiếp tục cho đến khi xử lý hết các ký tự trong danh sách.
Khám phá:  Hàm TEXTJOIN trong Excel – Cách Sử Dụng

Nếu sau này bạn muốn loại bỏ thêm dấu hai chấm và dấu thăng, chỉ cần thêm chúng vào cuối bảng T_Ký_tự[Characters]. Tương tự, nếu muốn giữ lại dấu ngoặc đơn, bạn chỉ cần xóa hàng đó khỏi bảng.

Hình 11: Hàm REDUCE được sử dụng trong Microsoft Excel để làm sạch mã khỏi các ký tự được xác định trong một bảng riêng.

Ví dụ thực tế 2: Công cụ tìm kiếm đa tiêu chí

Hãy tưởng tượng bạn đang quản lý kho hàng và cần đánh dấu bất kỳ mặt hàng nào có mô tả chứa các từ như “Nguy hiểm”, “Dễ cháy”, “Dễ vỡ”, “Ăn mòn” hoặc “Độc hại”.

Hình 12: Một bảng Excel với sản phẩm ở cột A, mô tả ở cột B và một cột 'Flag' trống ở cột C.

Để làm điều này bằng hàm OR lồng nhau, bạn cần một công thức phức tạp:

=OR(ISNUMBER(SEARCH("Nguy hiểm",[@Description])), ISNUMBER(SEARCH("Dễ cháy",[@Description])), ISNUMBER(SEARCH("Dễ vỡ",[@Description])))
Hình 13: Các công thức ISNUMBER và SEARCH lồng nhau bên trong một công thức OR để tìm kiếm từ khóa trong các mô tả sản phẩm khác nhau.

Chúng ta dùng ISNUMBER ở đây như một lớp “bảo vệ”. Nếu hàm SEARCH không tìm thấy từ, nó trả về lỗi #VALUE! và sẽ phá vỡ toàn bộ công thức. ISNUMBER bắt lỗi đó và chuyển thành giá trị FALSE, cho phép công thức chạy tiếp.

Công thức này hoạt động, nhưng nó quá dài và rối. Mỗi lần cần thêm từ khóa mới, bạn phải tự chỉnh sửa công thức, thêm một cụm ISNUMBER(SEARCH()) mới và cân bằng các dấu ngoặc.

Hình 14: Một bàn làm việc với một cuốn sách có logo Excel trên bìa, một biểu tượng hàm bên cạnh và một bàn phím.

Với REDUCE, bạn có thể tạo một công cụ tìm kiếm động. Đầu tiên, tạo một bảng tên T_Từ_khóa chứa tất cả các từ cần tìm.

Hình 15: Hàm REDUCE được sử dụng trong Excel để đánh dấu các mô tả sản phẩm chứa từ khóa được xác định trong một bảng riêng.

Sau đó, trong bảng chính, dùng công thức này:

=REDUCE(FALSE, T_Từ_khóa[Keyword], LAMBDA(a, v, (a + ISNUMBER(SEARCH(v, [@Description]))) > 0))

Giải thích:

  1. Giá trị khởi đầu (a): Bắt đầu với FALSE — mặc định sản phẩm an toàn.
  2. Mảng (v): Đây là cột T_Từ_khóa[Keyword]. Excel duyệt qua từng từ khóa.
  3. Logic: ISNUMBER(SEARCH(v,[@Description])) trả về 1 (TRUE) nếu tìm thấy từ khóa, hoặc 0 (FALSE) nếu không. Công thức cộng giá trị 0 hoặc 1 này vào bộ tích lũy (a). Vì có điều kiện >0 ở cuối, ngay khi vòng lặp tìm thấy một kết quả khớp (bộ tích lũy thành 1), kết quả sẽ giữ nguyên là TRUE cho đến hết.

Nếu bạn thêm 10 từ khóa mới vào bảng T_Từ_khóa, REDUCE sẽ tự động nhận diện và chạy thêm các vòng lặp, cập nhật kết quả ngay lập tức. Như vậy, bạn chuyển từ một công thức OR lồng nhau cồng kềnh sang một công thức REDUCE có khả năng tự động điều chỉnh khi tiêu chí thay đổi.

Khám phá:  Hàm CLEAN trong Excel – Cách Sử Dụng

Tại sao nên dùng REDUCE thay vì VBA?

Bạn có thể thắc mắc tại sao không dùng macro VBA hoặc Power Query. Trong khi những công cụ đó rất mạnh, REDUCE có ba ưu điểm:

  1. Không cần kích hoạt macro: Công thức REDUCE hoạt động ngay mà không cần bật cài đặt macro hay lưu file dưới dạng .xlsm.
  2. Tính rõ ràng: Logic nằm ngay trong ô, không bị ẩn trong trình soạn thảo VBA. Ai mở file cũng có thể xem và hiểu được.
  3. Tự động cập nhật: Giống mọi công thức Excel khác, REDUCE tự động tính toán lại khi dữ liệu nguồn thay đổi. Bạn không cần chạy macro thủ công.

Hình 16: Logo Microsoft Excel được bao quanh bởi các ký hiệu lập trình trôi nổi bao gồm Lambda, thẻ code, dấu ngoặc nhọn và phần mở rộng .xlsx.

REDUCE không phải là giải pháp vạn năng

Dù cực kỳ mạnh mẽ, REDUCE không phải lúc nào cũng là lựa chọn tốt nhất. Có hai trường hợp bạn nên cân nhắc công cụ khác:

  1. Xử lý dữ liệu phức tạp qua nhiều bước: Nếu cần nhập, chuyển đổi và làm sạch dữ liệu từ nhiều nguồn, Power Query là công cụ chuyên dụng và thường hiệu quả hơn.
  2. Logic cực kỳ phức tạp hoặc tương tác với ứng dụng khác: Nếu cần hộp thoại tùy chỉnh, tương tác với các ứng dụng Office khác hoặc logic vượt quá khả năng của hàm Excel, VBA vẫn là lựa chọn phù hợp.

Bằng cách chuyển từ các công thức lồng nhau rối rắm sang logic sạch sẽ của REDUCE, bạn làm cho bảng tính của mình trở nên gọn gàng và thông minh hơn. Thực tế, REDUCE là một phần của bộ ba hàm LAMBDA mạnh mẽ dùng để xử lý mảng. MAP hoạt động như một dây chuyền lắp ráp — dùng nó khi bạn muốn áp dụng cùng một logic lên từng ô trong một phạm vi và trả về một danh sách mới có cùng kích thước. SCAN giống như một báo cáo tiến độ — nó là hàm lý tưởng để tạo tổng tích lũy hoặc lịch sử từng bước của một phép tính.

Tags: Excel REDUCE, Excel Lambda Functions, Data Cleaning

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Ủ ĐỀ