Công thức Excel: Tính tổng n giá trị khớp đầu tiên
Công thức Excel: Tính tổng n giá trị khớp đầu tiên

Công thức chung
=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))
Tóm lược

Để tính tổng n giá trị phù hợp đầu tiên trong một tập dữ liệu, bạn có thể sử dụng công thức dựa trên các hàm FILTER và SEQUENCE. Trong ví dụ được hiển thị, công thức trong ô G5, được sao chép xuống, là:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))

Ở đâu Tên (B5: B16) và ghi bàn (C5: C16) là phạm vi được đặt tên.

Giải trình

Hàm FILTER, mới trong Excel 365, là có thể giúp đơn giản hóa một số vấn đề công thức phức tạp.

Trong ví dụ này, mục tiêu là tính tổng 3 điểm đầu tiên cho cả Jake và Hailey, dựa trên thứ tự chúng xuất hiện trong bảng. Tổng cộng có 12 điểm, Jake và Hailey mỗi người có 6 điểm.

Làm việc từ trong ra ngoài, nhiệm vụ đầu tiên là tạo danh sách điểm cho từng tên. Điều này được thực hiện với Chức năng FILTER:

FILTER(score,name=F5)

Với “Jake” trong ô F5, kết quả là một mảng có tất cả các điểm của Jake như sau:

{6;5;7;7;6;8}

Mảng này được trả về Hàm INDEX làm đối số mảng:

INDEX({6;5;7;7;6;8},SEQUENCE(3,1,1,1))

Các Hàm SEQUENCE được sử dụng để tạo giá trị cho số hàng và trả về một mảng có 3 số,

SEQUENCE(3,1,1,1) // returns {1;2;3}

Tại thời điểm này, chúng ta có thể viết phần INDEX của công thức như sau:

INDEX({6;5;7;7;6;8},{1;2;3})

INDEX trả về các giá trị được liên kết với 3 hàng đầu tiên trong mảng cho Hàm SUM:

=SUM({6;5;7}) // returns 18

và hàm SUM trả về tổng các giá trị này là kết quả cuối cùng trong G5. Khi công thức được sao chép xuống ô G6, kết quả là tổng 3 điểm đầu tiên của Hailey.

Tính tổng n giá trị phù hợp cuối cùng

Để tính tổng n giá trị phù hợp cuối cùng, bạn có thể điều chỉnh công thức như sau:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))

Công thức này là giải thích chi tiết hơn ở đây.

https://exceljet.net/formula/sum-first-n-matching-values