
Formula generik
=SUMPRODUCT(range*ISFORMULA(range))
Ringkasan
Untuk menjumlahkan hasil dari formula sahaja, anda boleh menggunakan fungsi SUMPRODUCT dan ISFORMULA. Dalam contoh yang ditunjukkan, formula dalam F6 adalah:
=SUMPRODUCT(sales*ISFORMULA(sales))
di mana "penjualan" adalah julat bernama C5: C13, nilai dalam C5: C9 adalah kod keras, dan nilai di C10: C13 dihasilkan dengan formula.
Penjelasan
Rumus ini menggunakan logik boolean untuk "menyaring" nombor di lajur C sebelum menjumlahkan dengan fungsi SUMPRODUCT. Apabila formula dinilai, nilai dalam julat "penjualan" dinamakan diperluas menjadi pelbagai:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Untuk menyaring sebarang nilai yang tidak dibuat oleh formula, fungsi ISFORMULA adalah membuat susunan nilai TRUE FALSE seperti ini:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Apabila kedua-dua tatasusunan ini dikalikan satu sama lain, operasi matematik membentuk nilai BENAR dan SALAH hingga 1 dan 0:
=SUMPRODUCT((925;1038;1105;1210;1250;1313;1379;1448;1520)*(0;0;0;0;0;1;1;1;1)) =SUMPRODUCT((0;0;0;0;0;1313;1379;1448;1520))
Nol membatalkan hasil bukan formula, dan SUMPRODUCT menjumlahkan dan mengembalikan hasil akhir.
Bukan formula
Untuk menjumlahkan nilai yang tidak dihasilkan oleh formula, anda boleh menambahkan fungsi NOT seperti ini:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Di sini, fungsi NOT membalikkan keputusan TRUE FALSE yang dikembalikan oleh fungsi ISFORMULA, yang menyaring sebarang nilai yang dihasilkan dengan formula.