Cách Sử Dụng Hàm REDUCE trong Google Sheets

Chào mừng bạn đến với bolamarketing.com! Hôm nay chúng ta sẽ tìm hiểu về cách sử dụng hàm REDUCE trong Google Sheets. Hãy cùng khám phá cách hàm này hoạt động và áp dụng trong các tình huống khác nhau.

Hàm REDUCE là gì?

Hàm REDUCE trong Google Sheets rất dễ hiểu nếu bạn đã biết về hàm SCAN. Điều đó có nghĩa là gì đấy? Cả hai đều là các hàm trợ giúp LAMBDA (LHF) và áp dụng LAMBDA cho mỗi giá trị trong mảng.

Hàm REDUCE giúp giảm mảng xuống một giá trị tích lũy và trả về giá trị tổng trong bộ nhớ tạm. Trong khi đó, hàm SCAN trả về một mảng chứa từng giá trị trung gian trong bộ nhớ tạm.

Ví dụ, kết quả của công thức SCAN sau sẽ là tổng cuối cùng, tức là {5;9;18;28}.

=scan(0,{5;4;9;10},lambda(a,v,a+v))

Nếu bạn sử dụng công thức REDUCE sau, bạn sẽ nhận được kết quả là 28, giá trị cuối cùng của ô đầu ra của công thức trên, tức là giá trị tổng trong bộ nhớ tạm.

=reduce(0,{5;4;9;10},lambda(a,v,a+v))

Việc hiểu sự khác biệt trên có thể giúp bạn lựa chọn LHF đúng để giải quyết vấn đề trong Google Sheets.

Cú pháp và đối số của hàm REDUCE

Cú pháp của hàm REDUCE:

REDUCE(giá_trị_bắt_đầu, mảng_hoặc_phạm_vi, LAMBDA)

Trong đó:

  • giá_trị_bắt_đầu – Để thiết lập giá trị ban đầu của bộ nhớ tạm.
  • mảng_hoặc_phạm_vi – Một mảng hoặc phạm vi cần giảm.
  • LAMBDA – Một LAMBDA được gọi để giảm mảng hoặc phạm vi. Nó có hai đối số tên.

Cú pháp LAMBDA:

=LAMBDA([tên, ...], biểu_thức_công_thức)(lời_gọi_hàm, ...)

Lưu ý: Chúng ta chỉ cần sử dụng đối số lời_gọi_hàm trong việc sử dụng LAMBDA đứng độc lập. Hãy tham khảo hướng dẫn về hàm Google Sheets của tôi để tìm hiểu về hàm này.

Chúng ta có thể đọc cú pháp của hàm REDUCE như LAMBDA(tên1, tên2, biểu_thức_công_thức).

Trong đó, tên1 là bộ nhớ tạm và tên2 là phép tính được áp dụng cho mỗi phần tử trong mảng hoặc phạm vi.

Để hiểu rõ hơn về cú pháp của hàm REDUCE trong Google Sheets, hãy thử các ví dụ dưới đây.

Cách sử dụng hàm REDUCE trong Google Sheets

Trước tiên, chúng ta đã thấy hai ví dụ về việc sử dụng các Hàm Trợ Giúp LAMBDA SCAN và REDUCE trong Google Sheets.

Hãy xem chúng trong một bảng tính Google Sheets và so sánh.

SCAN and REDUCE Functions - Similarities

Cả hai hàm đều có các đối số giống nhau: giá_trị_bắt_đầu, mảng_hoặc_phạm_vi và LAMBDA, và đây là chúng trong công thức.

  • giá_trị_bắt_đầu – 0
  • mảng_hoặc_phạm_vi – {5;4;9;10} hoặc bạn có thể sử dụng B2:B cũng được.
  • LAMBDA (LAMBDA(tên1, tên2, biểu_thức_công_thức)
  • tên1 – a (bộ nhớ tạm)
  • tên2 – v (phép tính được áp dụng cho mỗi phần tử trong mảng)

Công thức SCAN trong ô D6 trả về giá trị bộ nhớ tạm cho mỗi phần tử trong mảng, trong khi công thức REDUCE trong ô E6 trả về giá trị cuối cùng trong bộ nhớ tạm.

Vì vậy, chúng ta có thể sử dụng chúng trong các tình huống khác nhau.

Ví dụ, chúng ta có thể sử dụng LHF SCAN cho tổng chạy (có điều kiện) và LHF REDUCE cho số lượng (có điều kiện) hoặc tổng.

Ví dụ (LHF cho Số Lượng và Tổng có Điều Kiện)

Dưới đây là bốn ví dụ về LHF REDUCE. Tôi sẽ giải thích từng ví dụ một cách chi tiết.

Trong tất cả các ví dụ, giá trị ban đầu của bộ nhớ tạm là 0.

Nếu chúng ta đặt nó là 100 làm ví dụ, các kết quả trong các ô được tô màu Cyan sẽ là 102, 165, 202 và 103 lần lượt.

REDUCE Function Examples in Google Sheets

1. Hàm REDUCE cho Tổng có Điều Kiện

Công thức D4 và D6 là ví dụ về việc sử dụng hàm REDUCE cho tổng có điều kiện.

Công thức D4 sau tính tổng B2:B (mảng_hoặc_phạm_vi) nếu các giá trị trong mảng này lớn hơn 30.

=REDUCE(0,B2:B,LAMBDA(a,v,IF(v>30,a+v,a)))

Nó tương đương với việc sử dụng SUMIF như sau.

=sumif(B2:B,">30")

Công thức áp dụng v>30 cho mỗi phần tử trong mảng. Hàm IF thực hiện kiểm tra logic đó.

Nếu nó đánh giá là TRUE, nó thực hiện a+v (thêm giá trị vào bộ nhớ tạm), ngược lại giữ lại a, giá trị bộ nhớ tạm.

Nó thực hiện điều này trong cả cột và trả về giá trị cuối cùng được gọi là kết quả mảng đã giảm.

Công thức D6 sau tính tổng các giá trị lẻ và trả về tổng.

=reduce(0,B2:B,lambda(a,v,if(isodd(v),a+v,a)))

Tương đương SUMIF: ArrayFormula(sumif(isodd(B2:B),TRUE,B2:B))

Đây là các ví dụ về việc sử dụng hàm REDUCE cho tổng có điều kiện trong Google Sheets.

2. Hàm REDUCE cho Số Lượng có Điều Kiện

Hai công thức khác trong ô D2 và D8 hoạt động như số lượng có điều kiện.

Giả sử các giá trị trong B2:B là tuổi của các người tham gia một cuộc thi.

Công thức D2 trả về số lượng người tham gia trên 30 tuổi.

=reduce(0,B2:B,lambda(a,v,a+(v>30)))

Nó tương đương với COUNTIF sau trong Google Sheets.

=countif(B2:B,">30")

Công thức REDUCE thứ hai trong ô D8 hoạt động như công thức COUNTIFS, trả về số lượng người tham gia trong nhóm tuổi từ 20 đến 30.

=reduce(0,B2:B,lambda(a,v,a+(and(v>20,v<30))))

Đây là COUNTIFS thay thế.

=countifs(B2:B,">20",B2:B,"<30")

Các Trường Hợp Sử Dụng Khác

Sau khi đi qua những ví dụ trên, bạn có thể có ấn tượng sai rằng hàm REDUCE không đòi hỏi quá nhiều sự chú ý.

Nếu đúng như vậy, bạn đã sai!

Chúng ta có thể sử dụng hàm trợ giúp LAMBDA của Google Sheets này không chỉ để đếm hoặc tổng dựa trên điều kiện. Nó còn có các ứng dụng khác.

Ví dụ, công thức dựa trên hàm REDUCE dưới đây có thể trả về giá trị cuối cùng trong cột B chỉ với các giá trị số.

=reduce(0,B:B,lambda(a,v,(if(v="",v+a,v))))

Để trả về giá trị cuối cùng trong hàng số 2, chỉ cần thay B:B bằng 2:2.

Nếu bạn có các giá trị loại hỗn hợp, hãy thay giá_trị_bắt_đầu, tức là 0, bằng “” và v+a bằng v&a.

Công thức REDUCE sau sẽ tính tổng cột B nếu các giá trị cột A là “apple”.

=reduce(0,A:A,lambda(a,v,if(v="apple",offset(v,0,1)+a,a)))

Bạn có thể sử dụng các công thức như vậy để tạo ra các chức năng có tên ngắn hơn.

Đó là một số cách sử dụng hàm REDUCE trong Google Sheets.

Đừng quên thực hành và khám phá thêm về các chức năng và công thức hữu ích khác trong Google Sheets.

Hãy truy cập Crawlan.com để biết thêm thông tin và tài nguyên hữu ích về SEO và nâng cao hiệu suất trang web của bạn.

Rất vui được chia sẻ những bí mật hấp dẫn này với bạn! Chúc bạn thành công với việc sử dụng hàm REDUCE trong Google Sheets!

Related posts