Rumus Excel: Jumlahkan nilai pencocokan pertama -

Isi kandungan

Formula generik

=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))

Ringkasan

Untuk menjumlahkan nilai pencocokan n pertama dalam satu set data, anda dapat menggunakan formula berdasarkan fungsi FILTER dan SEQUENCE. Dalam contoh yang ditunjukkan, formula dalam sel G5, disalin ke bawah, adalah:

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

di mana nama (B5: B16) dan skor (C5: C16) dinamakan julat.

Penjelasan

Fungsi FILTER, baru di Excel 365, dapat membantu mempermudah beberapa masalah rumus yang rumit.

Dalam contoh ini, tujuannya adalah menjumlahkan 3 skor pertama untuk kedua-dua Jake dan Hailey, berdasarkan urutan yang mereka tunjukkan dalam jadual. Terdapat 12 markah keseluruhan, dan Jake dan Hailey masing-masing mempunyai 6 skor.

Berfungsi dari dalam ke luar, tugas pertama adalah menghasilkan senarai skor untuk setiap nama. Ini dilakukan dengan fungsi FILTER:

FILTER(score,name=F5)

Dengan "Jake" di sel F5, hasilnya adalah susunan dengan semua skor Jake seperti ini:

(6;5;7;7;6;8)

Array ini dikembalikan ke fungsi INDEX sebagai argumen array:

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

Fungsi SEQUENCE digunakan untuk menghasilkan nilai untuk nombor baris, dan mengembalikan array dengan 3 nombor,

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

Pada ketika ini, kita boleh menulis bahagian INDEX formula seperti ini:

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

INDEX mengembalikan nilai yang berkaitan dengan 3 baris pertama dalam array ke fungsi SUM:

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

dan SUM mengembalikan jumlah nilai ini sebagai hasil akhir dalam G5. Apabila formula disalin ke sel G6, hasilnya adalah jumlah skor 3 pertama Hailey.

Jumlahkan nilai n yang hampir sama

Untuk menjumlahkan nilai pencocokan n terakhir, anda boleh menyesuaikan formula seperti ini:

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

Formula ini dijelaskan dengan lebih terperinci di sini.

Artikel menarik...