Pak Imam,

Tampaknya, kolom A,B,C boleh berisi nullstring ("")
Kolom B bisa jadi berisi error value apa saja (mungkin hasil sebuah formula)
Kolom C adalah nilai yang dijumlahkan.

Kolom A kriterianya pasti harus sama dengan 1
>> susunan kriterianya :
(A2:A7=1)

Kolom B kriterianya :
1. bukan error value alias isinya text semua
IsText( B2:B7 )

2. teksnya bukan nullstring
( Len( B2:B7 ) > 0 )

Seluruh kriteria untuk kolom B ini harus terpenuhi, maka hubungannya adalah
logika AND (setara perkalian (*)

Kolom C kriterianya :
Bukan nullstring dan hanya data numerik saja
( C2:C7 < 9^9 )

Hasil setiap bentuk kriteria di atas adalah nilai TRUE atau FALSE yang
setara 1 atau 0
Hubungan seluruh kriteria pada kolom A,B,C harus terpenuhi (logika AND yang
setara perkalian)

Data yang akan diambil adalah kolom C

>> Menyusun formula
1. Kolom B terhadap efek error value
Karena operasi matematis di Excel yang berkaitan dengan error value (yang
mungkin ada di kolom B) bisa menghasilkan error value juga,
maka perlu pemilihan data yang bukan error value saja yang di proses. Oleh
sebab itu dibutuhkan fungsi IF dengan kondisi berdasar kolom B bukan error
value.
Tujuannya, seluruh data yang diolah nanti pasti tidak mengandung error
value lagi (jadi lebih aman). Bentuk pengkondisiannya :
IF( IsText( B2:B7 )    ,    ?   )

2. Kolom A
Karena kriteria berdasar kolom A (yang tidak ada error value dan pasti
harus sama dengan 1) relatif aman, maka bisa dimasukkan juga kedalam
kondisi di atas tadi.
Bentuknya menjadi :
IF( (A2:A7=1)  * IsText( B2:B7 )    ,    ?   )

3. Kolom B : pengolahan data yang selain error value
Jika kriteria kedua kolom B masuk ke bagian cek kondisi, maka akan terjadi
proses terhadap nilai kolom B yang error value.
Untuk itu, maka kriteria kedua kolom B diletakkan di sisi proses ketika
kondisi menghasilkan nilai TRUE (di sisi tanda tanya).
Bentuknya menjadi :
IF( (A2:A7=1)  * IsText( B2:B7 )    ,    ( Len( B2:B7 ) > 0 )   )

4. Kolom C : data yang akan diambil
Sampai kondisi nomor 3, maka nilai data yang akan diambil bisa dimasukkan
kedalam kondisi sebagai sebuah perkalian disisi fungsi IF bagian ketika
nilai kondisi bernilai TRUE yang saat ini berisi ekspresi ( Len( B2:B7 ) >
0 ).
Bentuk formula kondisi akan berubah menjadi :
IF( (A2:A7=1)  * IsText( B2:B7 )    ,    ( Len( B2:B7 ) > 0 )  *  C2:C7 )

5. Cek keamanan perkalian dalam bagian IF sisi kondisi bernilai TRUE
Proses  ( Len( B2:B7 ) > 0 )  *  C2:C7 akan setara dengan suatu perkalian 1
atau 0 hasil bagian ( Len( B2:B7 ) > 0 ) dengan nilai-nilai data di kolom C.
Karena kolom C memungkinkan berisi nullstring, maka bisa saja terjadi
perkalian numerik 1 atau 0 dengan nullstring yang bertipe text.
Hal ini pasti akan menghasilkan error value (bayangkan saja, Anda
mengalikan 1000 dengan kata Meja hasilnya apa coba ? 1000 Meja kah ?)
Maka perlu pengkondisian bahwa kolom C hanya yang berisi nilai saja yang
diproses. Artinya, seluruh data nullstring harus tidak boleh masuk ke
bagian IF sisi kondisi bernilai TRUE.
Jadi, bentuk kondisi perlu diubah lagi disisi cek kondisi fungsi IF dengan
menambahkan kriteria kolom C.
Bentuknya menjadi :
IF( (A2:A7=1)  * IsText( B2:B7 )  * ( C2:C7 < 9^9 )  ,    ( Len( B2:B7 ) >
0 )  *  C2:C7 )

Asumsinya, nilai kolom C tidak akan pernah mencapai nilai 9^9. Jika mungkin
tercapai, ganti 9^9 dengan 99^9 dst
Bahasa manusia dari ( C2:C7 < 9^9 ) adalah
"Nilai data c2:c7 kurang dari nilai hasil 9 pangkat 9."
Tipe data text (string) selalu lebih dari tipedata numerik. Jadi nullstring
yang bertipe text (string) pasti akan menghasilkan FALSE.

6. Proses akhir
Setelah didapatkan seluruh data yang valid untuk di proses utama yang
menjadi proses akhir,
maka seluruh formula IF tersebut dimasukkan menjadi input parameter bagi
fungsi-fungsi proses selanjutnya.
Proses akhir yang diinginkan adalah menjumlahkan seluruh nilai (Sum).
Kegiatan proses oleh fungsi IF adalah kegiatan array.
Maka akan terbentuk formula array Sum dengan input parameter fungsi IF
sebagai pemilih data.
Bentuk formula utuhnya :
=Sum(   IF( (A2:A7=1)  * IsText( B2:B7 )  * ( C2:C7 < 9^9 )  ,    ( Len(
B2:B7 ) > 0 )  *  C2:C7 )    )
diikuti seremoni sakral penciptaan array formula, yaitu menekan Ctrl Shift
Enter bersamaan. (kalau mencetnya sambil merem, masih pada deg deg siir gak
ya ?)

udah ngomyang banyak banget gak bisa nyertaken hasil nyata dalam bentuk
file lampiran....
jadi omyangan di atas bisa jadi ada salahnya...
kalau ada yang salah, tulung dibetulken ya...

Wassalam,
Kid.



On Thu, Apr 26, 2012 at 03:08, Imam Sinurat <[email protected]> wrote:

> **
>
>
> Salam hormat, mohon dibantu masalah ini, kami menggunakan Excel 2003 :)
>
> Sebuah tabel berisi data Hasil Formula dari Tabel Lain.  Sel A2, A5, A6,
> B5, B6, C3, C5 bukan blank, tetapi berisi "".
>
> Bgmn rumus untuk menjumlahkan kolom C dengan kriteria kolom A bernilai 1
> serta kolom B tidak berisi "" dan tidak error ...??
>
> Sudah dicoba rumus arraysum pada sel C8
> =SUM((A2:A7=1)*(LEN(B2:B7)>0)*(C2:C7)) , hasilnya #VALUE.
> Mohon dianalisa kesalahan rumus diatas, serta bgmn rumus yang benar.
>
> Hasil yang diinginkan adalah C4+C7= 11.100.000
>
> Trims sblmnya :)
> Imam F. Sinurat - Sumut
>
>  
>
>

Kirim email ke