Pak Lukman,
imho :
1. apakah di tentukan oleh banyak nya karakter di dalam formula tersebut.
semakin panjang , semakin lama waktu yg di butuhkan ?
>> jumlah karakter formula yang banyak *relatif *berisi jumlah fungsi yang
banyak atau proses step-by-step yang banyak.
>> jumlah fungsi yang digunakan dan jenisnya cenderung lebih mempengaruhi
penambahan beban kalkulasi dibandingkan sekedar jumlah karakter formula.
>> jenis formula (array atau bukan) akan lebih mempengaruhi penambahan
beban kalkulasi, karena semakin kompleks proses hitungannya.
>> jumlah cell atau item yang dikalkulasi dalam sebuah cell juga
mempengaruhi penambahan beban kalkulasi, karena semakin banyak yang harus
dihitung.
2. misal nya : Range("$A$2:$A$36000") dan range ( "$D$1:$AB$1) mana yg
lebih cepat . : bila mengunakan sumproduct , index +macth , Vloopup +
hLoopup atau lain nya
>> mau mengkalkulasi apa ?
>> Sum ? maka yang bisa hanya SumProduct dan akan lebih cepat dengan Sum
(tanpa kriteria), sumif (1 kriteria) atau sumifs (multi kriteria). Begitu
juga jika ingin hitung cacah, maka Count atau Counta, CountIF, COuntIFs
akan lebih cepat dibanding sumproduct.
>> Mau lookup ? Sumproduct bisa digunakan untuk lookup terhadap data unique
dengan nilai hasil bertipe numerik. Index Match cenderung lebih sesuai
ketika vlookup atau hlookup tidak dapat melakukannya.
>> antara 36000 cell - 1 orientasi vertikal dibanding 25 cells orientasi
horisontal tentu akan lebih cepat yang hanya 25 cells orientasi apapun
dibanding 36000 - 1 cell orientasi apapun.
3. bagaimana urutan dari formula yg paling membebani kinerja dari prosesor
di komputer --- sampai yg paling ringan ?
>> sebenarnya akan lebih jelas jika baca di :
http://msdn.microsoft.com/en-us/library/aa730921%28v=office.12%29.aspx
>> secara umum :
- mega array formula adalah yang biasanya paling berat.
- Array formula menyusul kemudian jika tidak berhati-hati dalam menentukan
cell yang harus dikalkulasi.
- Cara merujuk suatu range yang akan dikalkulasi yang tidak efisien
(seperti running reference dalam Sum atau Max atau Count sebangsanya) bisa
menduduki peringkat berikutnya.
- Pemilihan fungsi yang kurang efisien apalgi yang tergolong fungsi-fungsi
volatile seperti OFFSET, INDIRECT, NOW, TODAY, dsb yang terlalu banyak akan
menjadi penambah beban tersendiri.
- Proses yang sama yang dikalkulasi berulang-ulang juga menjadi pemberat
proses kalkulasi, seperti menggunakan Index(bla, Match()) padahal untuk
kolom lainnya, menggunakan proses match yang sama. Jika Match diletakkan
pada sebuah kolom bantu, maka akan lebih cepat. Sayangnya, formula yang
pakai kolom bantu kadangkala dianggap nggak hebat. Padahal secara performa
dia lebih hebat dibanding formula langsung Index Match (match gak di
letakkan di kolom bantu).
- dibantu pivot table atau fitur lain seperti sort data lebih dulu dan
menyusun data dengan baik adalah yang umumnya paling cepat proses
kalkulasinya dibanding memanfaatkan banyak kolom bantu.
4. Manakah yg akan lebih cepat dari pilihan dibawah ini ? Bila :
a: semula di 1 workbook di 1 worksheet : dengan
range("$A$2:$A$36000") dan range ( "$D$1:$AB$1)
b: menjadi 1 workbook dengan 5 worksheet dengan
range("$A$2:$A$6000") dan range ( "$D$1:$AB$1)
c: menjadi 5 workbook dengan 1 worksheet dalam 1 folder dengan
range("$A$2:$A$6000") dan range ( "$D$1:$AB$1)
>> 1 workbook dengan 1 sheet relatif lebih cepat
>> semakin banyak sheet, maka butuh formula lebih rumit ketika akan
menyusun report berdasar semua data di semua sheet
>> semakin banyak workbook, maka akan semakin lambat, karena link antar
workbook dalam formula sangatlah lambat dan pengelolaannya juga lebih susah.
>> pada suatu data yang sudah jelas interval data aktifnya, akan lebih
cepat jika data yang masih aktif digunakan disimpan di sheet tersendiri dan
data yang sudah tidak aktif digunakan disimpan di sheet yang berbeda.
Keduanya masih dalam workbook yang sama.
5. apakah yg lebih cepat antara formula yg di tulis dalam macro bila di
bandingkan dengan formula yg di tulis di dalam excel (sudah tentu saat
menulis data nya . formula: calculation option dalam posisi : manual)
>> Hanya menulis (memasang formula) di area yang luas dan pada calculation
manual, VBA bisa diset agar screenupdating berstatus false, sehingga
pembaruan tampilan tidak dilakukan sampai proses berakhir. Copas formula ke
banyak area oleh user (tanpa VBA) akan terasa lebih kambat karena ada
screenupdating.
>> menulis formula di sebuah cell (hanya 1 cell), lebih cepat tulis manual,
karena gak perlu menyusun script VBA nya dan bisa jadi setiap cell
berbeda-beda formulanya.
>> menghitung suatu proses (misal melookup atau menge-sum), dengan formula
di worksheet lebih cepat dibanding dengan VBA. Sampai suatu saat ketika
harus mengkalkulasi yang sangat kompleks, maka VBA bisa jadi lebih cepat
dengan penyusunan algoritma yang efisien dan baik.
Wassalam,
Kid.
2012/11/13 lkm jktind <[email protected]>
> **
>
>
> Kecepatan prosesing data di excel.
>
> 1. apakah di tentukan oleh banyak nya karakter di dalam formula tersebut.
> semakin panjang , semakin lama waktu yg di butuhkan ?
>
> 2. misal nya : Range("$A$2:$A$36000") dan range ( "$D$1:$AB$1)
> mana yg lebih cepat . : bila mengunakan sumproduct , index +macth ,
> Vloopup + hLoopup atau lain nya
>
> 3. bagaimana urutan dari formula yg paling membebani kinerja dari prosesor
> di komputer --- sampai yg paling ringan ?
>
> 4. Manakah yg akan lebih cepat dari pilihan dibawah ini ? Bila :
> a: semula di 1 workbook di 1 worksheet : dengan
> range("$A$2:$A$36000") dan range ( "$D$1:$AB$1)
> b: menjadi 1 workbook dengan 5 worksheet dengan
> range("$A$2:$A$6000") dan range ( "$D$1:$AB$1)
> c: menjadi 5 workbook dengan 1 worksheet dalam 1 folder dengan
> range("$A$2:$A$6000") dan range ( "$D$1:$AB$1)
>
> 5. apakah yg lebih cepat antara formula yg di tulis dalam macro bila di
> bandingkan dengan formula yg di tulis di dalam excel
> (sudah tentu saat menulis data nya . formula: calculation option
> dalam posisi : manual)
>
> Salam
>
> Lukman
>
> --- Mods ---
> Untuk tambahan wacana :
> http://msdn.microsoft.com/en-us/library/aa730921%28v=office.12%29.aspx
> ------------
>
>