Pak Kid .

Terima kasih.

atas penjelasan nya . --- jadi  ada pilihan --- mengapa aku nga pakai
fungsi SUM  saja -- dari pada pakai SUMIF


Tapi rasanya  aku tetap pakai loop saja .  waktunya  dibawah 2 menit .
(111.05  detik)

besar kemungkinan : walaupun  sumif --- aku ganti menjadi  fungsi sum
dengan bantuan dari  komlom L (sebagai data awal) dan kolom M  (sebagai
data akhir)  dari perjumlahan  , besar kemungkin  waktu nya  di atas 2
menit ,  apalagi kalau pakai sumproduck  formula kelas berat .

memang didalam loop --- itu cuma sekali jalan saja .  (walaupun row nya
banyak )


Salam


Lukman.



NB : baru coba  fungsi  countif  saja -- sudah diatas   2 menit .  (kolom
K) saja.





2017-03-12 9:17 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] <
belajar-excel@yahoogroups.com>:

>
>
> Hai Lukman,
>
> Tentang :
> 1. bagaimana untuk mendapatkan
>    market cap  (sheet record)  =   jumlah pada hari yg sama  dari  = close
> * Listed Share  (sheet OHLC)
> > jika dengan formula, maka bisa memanfaatkan fungsi SumProduct.
> > yang perlu diingat adalah karakteristik SumProduct yang bekerja pada
> array, sehingga berpotensi akan lambat ketika tidak membatasi area range
> yang dikalkulasi.
>
> 2. mengapa pakai looping  (111.05 ) , lebih cepat  dari pada pakai formula
> di macro (673.38) ?
>     Selisih waktu nya sangat jauh.
> > Mengkalkulasi sesuatu dengan VBA bisa melalui perhitungan tiap item yang
> dikalkulasi dengan proses loop, memanfaatkan worksheet function dalam VBA,
> atau dengan memasang formula dengan VBA, maupun meng-evaluate suatu bunyi
> formula dengan VBA.
> > Jadi, ada baiknya Anda pahami dulu perbedaannya.
> > Biasanya, kalkulasi tiap item dengan loop berusaha untuk sesedikit
> mungkin proses loop itu sendiri. Contohnya, akan menjumlahkan data berdasar
> kriteria tertentu dengan kriteria tersebut ada di suatu tabel tersendiri.
> Maka proses loop diusahakan cukup melakukan loop 1 kali pada data saja jika
> memungkinkan.
> > Kalkulasi dengan worksheet function (berbeda dengan formula loh ya),
> ciri umumnya adalah menggunakan fungsi-fungsi yang biasa dipakai di dalam
> worksheet untuk menyusun formula. Contohnya seperti worksheetfunction.SUM
> yang menggunakan fungsi SUM.
> > Kalkulasi dengan formula dalam VBA biasanya berupa memanfaatkan
> pemasangan formula ke dalam sheet dan menyerahkan proses kalkulasi formula
> tersebut kepada Excel Calculation. Proses ini biasanya tidak membutuhkan
> loop apapun. Contoh : range("b1:b5").formula="=Row()"
> > Kalkulasi dengan evaluate mirip dengan kaklkulasi dengan formula dalam
> VBA, hanya saja, proses kalkulasi dilakukan langsung tanpa proses menulis
> formula ke dalam cells. Tidak banyak kasus yang bisa secara leluasa
> menggunakan cara ini seutuhnya.
>
> Apa beda penggunaan formula dengan worksheet function ?
> > Penggunaan formula akan lebih luwes dan luas, karena penulisan formula
> bisa dicoba dulu dalam worksheet dan digunakan apa adanya bunyi formula
> yang terbentuk.
> > Selain itu, penggunaan nested function dan array formula sangat
> dimungkinkan ketika menggunakan formula dan tidak mudah atau tidak
> dimungkinkan jika menggunakan worksheet function. Contohnya adalah formula
>      =Sum( Index( data!A:A , report!b3 ):Index( data!A:A , report!C3 ) )
> yang merupakan penjumlahan dinamis dengan area range yang diproses dibuat
> terbatas seperlunya agar tidak memberatkan kerja kalkulasi Excel.
> Andai di sheet report cells B3 bernilai 11 dan di sheet report C3 bernilai
> 23, maka formula di atas setara =Sum( data!A11:A23 )
> Formula tersebut tidak mudah disusun dengan worksheet function.
>
> Contoh lain : =Small( IF( A1:A7 ="kid", B1:B7 ) , Row(1:7) )  yang
> merupakan array formula filtering.
> Formula seperti ini tidak bisa disusun dengan worksheet function.
>
> Jadi, menggunakan baris kode berbunyi :
>       range("a1").value=worksheetfunction.sum( range("z7:z9") )
> bukanlah proses formula dengan VBA, tetapi proses kalkulasi dengan fungsi
> yang disediakan untuk digunakan dalam cells.
>
>
> Worksheet function vs formula (memasang formula dalam cells)
> > kecepatan kerja keduanya dapat dikatakan seimbang.
> > terkadang, pada bentuk formula yang rumit, memasang formula akan
> memudahkan penyusunan baris kode walau agak lama proses kalkulasinya.
>
> Khusus loop,
> cara ini adalah yang tercepat, tetapi membutuhkan logika penyusunan proses
> yang terus terasah.
> Beberapa hal yang patut dipertimbangkan dalam loop :
> 1. lakukan loop melalui array-nya sebanyak mungkin dibanding menggunakan
> object (cells, worksheet, dsb)
>      > kalau bisa, hindari for each next
> 2. simpan nilai ke suatu variabel (skalar maupun array) jika dibutuhkan
> berulang-ulang atau akan dikalkulasi berulang-ulang, jangan membaca ulang
> object
> 3. pilih dan susun loop agar tidak melakukan loop yang sama berulang-ulang
> dengan mengurutkan data dan kriteria
>     contoh : sheet data kolom A mulai baris 2 ada 900ribu record sorted
> ascending. sheet kriteria kolom E mulai baris 2 ada 1000 kriteria sorted
> ascending. Asumsinya bertipe numerik. Setiap baris sheet data di Kolom A
> yang sama dengan setiap baris di sheet kriteria kolom E akan diproses.
>     Dim lRowD As Long, lRowK As Long
>     Dim lNilaiD As Long, lNilaiK As Long
>     lRowK = 2
>     lNilaiK = Cells(lRowK, 5).Value
>     For lRowD = 2 To 900001
>         lNilaiD = Cells(lRowD, 1).Value
>         If lNilaiD > lNilaiK Then
>             lRowK = lRowK + 1
>             lNilaiK = Cells(lRowK, 5).Value
>             If lNilaiD = lNilaiK Then
>                 'lakukan proses terhadap data di baris lRowD
>             End If
>         ElseIf lNilaiD = lNilaiK Then
>             'lakukan proses terhadap data di baris lRowD
>         End If
>         If lRowK > 1001 Then Exit For
>     Next lRowD
>
> Kira-kira demikian,
>
> Regards,
> Kid
>
>
>
>
>
>
>
>
> 2017-03-11 19:46 GMT+07:00 lkm jktind lkmjkt...@gmail.com [belajar-excel]
> <belajar-excel@yahoogroups.com>:
>
>>
>>
>> 1. bagaimana untuk mendapatkan
>>    market cap  (sheet record)  =   jumlah pada hari yg sama  dari  =
>> close * Listed Share  (sheet OHLC)
>>
>> 2. mengapa pakai looping  (111.05 ) , lebih cepat  dari pada pakai
>> formula di macro (673.38) ?
>>     Selisih waktu nya sangat jauh.
>>
>> sheet OHLC : row  hampir 900.000
>> sheet Record : row : 2819
>>
>>
>>
>> Salam
>>
>>
>> Lukman
>>
>>
> 
>
  • Re: [belajar-excel] formula... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar-excel] fo... lkm jktind lkmjkt...@gmail.com [belajar-excel]
      • Re: [belajar-excel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
        • Re: [belajar-e... lkm jktind lkmjkt...@gmail.com [belajar-excel]
          • Re: [belaj... lkm jktind lkmjkt...@gmail.com [belajar-excel]
          • Re: [belaj... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
            • Re: [... lkm jktind lkmjkt...@gmail.com [belajar-excel]
              • R... lkm jktind lkmjkt...@gmail.com [belajar-excel]
              • R... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
                • ... lkm jktind lkmjkt...@gmail.com [belajar-excel]
                • ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
                • ... lkm jktind lkmjkt...@gmail.com [belajar-excel]

Kirim email ke