
Formula generik
(=SUM(--(MMULT(--(criteria),TRANSPOSE(COLUMN(data)^0))>=N)))
Ringkasan
Untuk mengira baris yang mengandungi nilai tertentu, anda boleh menggunakan formula array berdasarkan fungsi MMULT, TRANSPOSE, COLUMN, dan SUM. Dalam contoh yang ditunjukkan, formula dalam K6 adalah:
(=SUM(--(MMULT(--((data)=2)))
di mana data adalah julat bernama C5: I14.
Perhatikan ini adalah formula larik dan mesti dimasukkan dengan kawalan shift enter.
Penjelasan
Berfungsi dari dalam ke luar, kriteria logik yang digunakan dalam formula ini adalah:
(data)<70
di mana data adalah julat bernama C5: I14. Ini menghasilkan hasil BENAR / SALAH untuk setiap nilai dalam data, dan negatif dua kali ganda menyatukan nilai BENAR BENAR menjadi 1 dan 0 untuk menghasilkan susunan seperti ini:
(0,0,0,1,0,1,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,1,1,0,0,1,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,1,0,0,0,0,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0)
Seperti data asal, susunan ini adalah 10 baris dengan 7 lajur (10 x 7) dan masuk ke fungsi MMULT sebagai array1 . Argumen seterusnya, array2 dibuat dengan:
TRANSPOSE(COLUMN(data)^0))
Di sini, fungsi COLUMN digunakan sebagai cara untuk menghasilkan susunan angka dengan ukuran yang tepat, kerana pendaraban matriks memerlukan kiraan lajur dalam array1 (7) untuk menyamai jumlah baris dalam array2 .
Fungsi COLUMN mengembalikan susunan 7-lajur (3,4,5,6,7,8,9). Dengan menaikkan array ini menjadi kuasa sifar, kita berakhir dengan susunan 7 x 1 seperti (1,1,1,1,1,1,1), yang TRANSPOSE berubah menjadi array 1 x 7 seperti (1; 1 ; 1; 1; 1; 1; 1).
MMULT kemudian berjalan dan mengembalikan hasil susunan 10 x 1 (2; 0; 0; 3; 0; 0; 0; 1; 0; 0), yang diproses dengan ungkapan logik> = 2, menghasilkan array yang BENAR Nilai PALSU:
(BENAR; SALAH; SALAH; BENAR; SALAH; SALAH; SALAH; SALAH; SALAH; SALAH).
Kami sekali lagi memaksa TRUE FALSE menjadi 1 dan 0 dengan dua negatif untuk mendapatkan susunan terakhir di dalam SUM:
=SUM((1;0;0;1;0;0;0;0;0;0))
Yang betul mengembalikan 2, bilangan nama dengan sekurang-kurangnya 2 skor di bawah 70.