dear Jamz,
jika menggunakan formula, agar formula mengikuti perkembangan data yang
dinamis, maka seluruh referensi yang mengarah ke data haruslah dibuat
dinamis dengan formula offset atau indirect ke cell yang dinamis pula. Misal
:
=IF(ISNUMBER($G15);OFFSET(C$6;$G15;0);"") 'dari mbak
siti
OFFSET(C$6;$G15;0) adalah penunjukan dinamis ke suatu range di kolom C
relatif terhadap cell C6 absolute, sebanyak nilai cell G15 baris dan 0
kolom.
kalau persamaan ini dicopy ke cell lain, maka harus dipastikan syarat cell
g15 harus benar supaya menghasilkan data yang benar (sesuai keinginan).
pada g15, persamaan yang digunakan adalah
=SMALL(IF(A7:A18=I2;ROW(1:12));ROW(1:12)) 'dari mbak
siti
yang merujuk pada sebuah range yaitu A7:A18, yang merupakan data anda.
jika data anda berkembang hingga ribuan baris karena jumlah debitur yang
semakin banyak dan mendapat banyak jenis surat, maka dengan mengubah A7:A18
dengan offset($a$6,1,0,counta($b:$b)), akan membuat syarat A7:A18 pada
formula menjadi dinamis.
juga perlu diingat, bahwa data yang digunakan dibatasi 12 baris data, yaitu
pada row(1:12) yang sebelah kiri (didalam if() ). jika A7:A18 diganti dengan
offset($a$6,1,0,counta($b:$b)), maka nilai 12 pada row(1:12) itu harus
diganti sebanyak baris data yang digunakan oleh offset, yaitu counta($b:$b),
meskipun nilai counta(b:b) lebih banyak dari jumlah data sebenarnya. sedang
row(1:12) yang sebelah kanan dibiarkan tetap.
daftar unique list yang dimulai pada cell e30, juga harus diperbarui jika
ada debitur baru atau debitur yang tidak masuk data ini lagi. Hal ini bisa
dilakukan dengan advanced filter, copy to another locations, dengan list
range A6 sampai baris terakhir data dikolom A, copy to diisi e29, dan unique
records only bernilai true (dicentang), lalu ok.
semakin sering daftar nama debitur berganti, maka semakin sering melakukan
perubahan pada daftar unique list di cell e29 dengan advanced filter.
jadi, untuk membuat range dinamis, mungkin dengan :
- membuat sebuah formula yang menunjukkan jumlah baris data sebenarnya,
misal diletakkan di cell g14, dengan formula :
=COUNTA(OFFSET($B$6,1,0,COUNTA(C:C)))
maksud dari menggunakan counta() didalam offset adalah untuk menghitung
jumlah baris yang berisi sesuatu bukan blank, dan menggunakan kolom c bukan
kolom b, agar tidak diganggu circular reference yang kadang muncul jika
Calculation Options pada enable iteration bernilai false (tidak dicentang).
- pada cell g15:g26 (diblok dulu) dan gunakan array formula :
{=SMALL(IF(OFFSET($A$6,1,0,$G$14)=$I$2,ROW(INDIRECT("1:" &
$G$14))),ROW(1:12))}
g15:g26 diblok dulu karena yang dibuat adalah array batch 12 baris yang
ditunjukkan oleh row(1:12) yang sebelah kanan. Copy per blok (12 baris) ke
12 baris berikutnya (ingat, sebagai blok).
mungkin begitu,
kid
2009/2/4 Jamz <[email protected]>
> dear masters,
>
> boleh tanya lagi gak...?
>
> kalo misalnya datanya banyak, gimana cara ngopy formula dummies dan yang
> lainnya..?soalnya saya tambah data nasabahnya kok malah gak keluar
> hasilnya...
>
>
> terima kasih....
>