
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.