it works....... pak Mr Kid..!! masalah tadi sudah terpecahkan.. tengkiyu bgt bantuannya pak.
untuk Pak Bagus, formula Sumif tidak bisa digunakan krn kriterianya lebih dari 1, tapi Tengkiyu juga untuk pak Bagus atas atensi dan partisipasinya :) --- In [email protected], "Kid Mr." <mr.nmkid@...> wrote: > > 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 <sin.ur4t@...> 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 > > > > > > > > >

