pak kid

maksih penjelsanya lengkap,,
setelah satu kali baca belum begitu paham..langsung saya kopas untuk di
baca lagi..


salam
joko




2014-06-06 9:28 GMT+07:00 'Mr. Kid' [email protected] [belajar-excel] <
[email protected]>:


>
>
> hehehe... (kasus ini menggunakan data berorientasi horisontal loh ya)
> bukan ndak bisa Pak, hanya mulai kurang efisien.
> Biasanya CountIF akan sedikit lebih lambat dari Match kalau lebih dari
> 100. Tapi ini relatif terhadap mesin masing-masing kok.
> Pada data yang berorientasi vertikal, maka besar kemungkinan bahwa area
> yang akan di CountIF apalagi CountIFs akan sangat banyak.
>
> Fungsi Count (termasuk yang pakai IF maupun IFs) akan menganalisa seluruh
> cell yang dirujuk. Jika cell yang dirujuk ada 1000, maka keseluruhannya
> (yang 1000 cell itu) akan diperiksa satu per satu untuk menghasilkan output
> nilai hasil Count tersebut. Berarti, pasti minimal ada 1000 proses
> pemeriksaan.
>
> Ketika kebutuhannya sekedar ada data atau tidak dengan 1 kriteria, berarti
> tidak butuh informasi ada berapa datanya. Hasil Count > 0 berarti ada
> datanya dan hasil Count = 0 berarti tidak ada datanya. Cukup hanya itu saja
> yang dibutuhkan. Tidak peduli ada 1 atau 3 atau 5 data. Pada kebutuhan
> seperti ini, sebenarnya yang dibutuhkan, minimal ketemu 1 saja maka proses
> sudah cukup informasi untuk memutuskan bahwa ada datanya. Jika pemeriksaan
> ada datanya atau tidak diperiksa dengan Count, maka akan ada proses
> sia-sia, yaitu setelah mendapatkan hasil analisa bahwa menemukan 1 data
> dimaksud, masih saja memeriksa cells lain sampai 1000 cell terperiksa.
>
> Itu sebabnya, untuk data yang banyak (asumsikan saja ada lebih dari 100
> data pada komputer yang bekerja berat), fungsi Count berpotensi melakukan
> proses sia-sia yang cukup banyak. Maka pada kondisi ini (data lebih dari
> 100 di komputer yang terbebani), kurang  'mesiniawi' jika ada banyak proses
> sia-sia. Maka sebaiknya memilih menggunakan fungsi Match.
>
> Sampai disini, *kesimpulan sementara *adalah : (cek keberadaan data
> berdasar 1 kriteria)
> -> gunakan CountIF atau CountIFs secara bijak jika enggan menggunakan Match
> -> Match lebih efisien dibanding CountIF atau CountIFs
>
> Pada kasus-kasus yang berupa pengecekan keberadaan data berdasar lebih
> dari 1 kriteria (2,3,dst), akan sedikit berubah konstelasinya.
> Kriteria yang lebih dari 1 akan membutuhkan pemeriksaan secara menyeluruh
> berdasar kriteria-kriteria yang sesuai.

> -> Fungsi CountIF jelas tidak bisa dipakai, kecuali jika akan menggunakan
> kolom bantu yang menggabungkan semua kriteria dalam sebuah cell, sehingga
> kriterianya menjadi 1 saja, yaitu komposit dari seluruh kriteria yang
> dibutuhkan.
> -> Fungsi CountIFs bisa digunakan dan akan bekerja dengan cara yang sama,
> yaitu memeriksa seluruh cell rujukan. Jika ada 1000 cell, maka ke-1000
> cells itu akan diperiksa. Jika ada 2 kriteria, maka setiap cell dilakukan 2
> proses. Jadi total 2000 proses. Kecepatannya tidak akan lebih lambat 2 kali
> lipat dari penggunaan terhadap 1 kriteria, melainkan hanya lebih lambat
> sedikit saja. Artinya jika ada n kriteria, bukan berarti akan ekponensial n
> melambatnya.
> -> Fungsi Match bisa digunakan selama seluruh kriteria disusun membentuk
> sebuah array. Artinya, jika ada 1000 cells data berdasar 2 kriteria, maka
> Match akan membentuk array 1 dimensi berdasar 2 kriteria itu. Jadi dalam
> hal ini, akan ada 3000 proses untuk membentuk arraynya saja, kemudian
> ditambah sekian proses untuk proses pencariannya.
>
> Contoh : data kriteria 1 di C1:C1000 harus sama dengan 1 dan kriteria 2 di
> G1:G1000 harus bernilai > 1500
> >> dengan Match
> Match( 1 , (c1:c1000=1) * (g1:g1000>1500) , 0 )
> proses 1 : (c1:c1000=1) -> ada 1000 cells = 1000 proses
> proses 2 : (g1:g1000>1500) -> ada 1000 cells = 1000 proses
> proses 3 : *  -> mengalikan hasil proses 1 dengan proses 2 -> ada 1000
> cells = 1000 proses
> total 3000 proses
>
> setelah didapat array hasil proses 3, barulah melakukan proses pencarian
> nilai 1 (lookup_value). Andai ditemukan pada item array ke 350 (karena item
> ke-1 sampai item ke-349 di proses 3 menghasilkan nilai 0 dan item ke-350
> hasil proses 3 yang bernilai 1), maka akan ada tambahan 350 proses.
>
> Total 3000 + 350 proses = 3350 proses.
>
> >> Pada menggunaan CountIFs
> CountIFs( c1:c1000,1,g1:g1000,">1500")>0
> prosesnya ada sebanyak :
> proses 1 : c1:c1000 bernilai 1 -> ada 1000 cells = 1000 proses : asumsikan
> ada 800 cells kolom C itu yang bernilai 1
> proses 2 : g1:g1000 > 1500 hanya pada yang kolom c nya adalah 1 -> ada 800
> cells = 800 proses : asumsikan ada 470 cells kolom G yang bernilai > 1500
> maka hasil CountIF (berupa sebuah nilai saja) bernilai 470
> proses 3 : memeriksa hasil proses 2 (yang cuma sebuah nilai, yaitu nilai
> 470 hasil proses 2) apakah lebih dari 0 (ada datanya) -> 1 nilai = 1 proses
>
> Total : 1000 + 800 + 1 = 1801 proses
>
> Tentu selisih antara 3350 proses milik match terhadap 1801 proses milik
> CountIFs cukup banyak, yaitu 1549 proses. Daripada proses itu digunakan
> untuk hal yang ndak guna, mending digunakan untuk kegiatan lain alias
> mengkalkulasi cell lain.
>
> Jadi, sampai disini, bisa disimpulkan bahwa :
> 1. Fungsi CountIF, CountIFs, atau Match untuk memeriksa keberadaan data,
> sebaiknya dipilih dengan bijak.
> 2. Untuk keberadaan data yang berdasar 1 kriteria saja, akan efisien
> dengan Match
> 3. Jika keberadaan data berdasar kriteria akan menggunakan CountIF,
> sebaiknya digunakan untuk jumlah record yang tidak banyak relatif menurut
> kemampuan mesin setempat agar lebih 'mesiniawi'
> 4. Pada keberadaan data yang berdasar lebih dari 1 kriteria, CountIFs
> lebih efisien daripada Match yang membutuhkan proses pembentukan array 1
> dimensi.
>
> Sekarang, mari kita bayangkan jika ada 50000 data saja.
> Yang lebih parahnya lagi, penggunaan rujukan ke seluruh kolom seperti
> $c:$c atau $g:$g
> Jika di xl2003 yang maksimum baris Excel ada 65000 sekian, penggunaan
> CountIF akan bertambah 1 proses untuk mencari tahu dimana baris terakhir
> sheet yang ada datanya (baris di last cell dalam sheet).
> Jika dengan Match dan untuk 1 kriteria, maka tergantung ketemunya dimana
> (alias tetap efisien). Jika pada kriteria yang lebih dari 1, maka
> penggunaan Match yang ditulis :
> Match( 1 , ($c:$c=1)*($g:$g) , 0 )
> akan bekerja mengolah data sebanyak 65000 sekian baris alias sama saja
> datanya ada 65000 sekian, padahal yang terisi data hanya 1000 baris saja.
> Bagaimana jika Excel yang digunakan adalah xl2007 ke atas yang ada 1M
> lebih baris (1 juta lebih loh). Hasilnya, manusianya mengeluh tidak pada
> tempatnya karena berujar : "Excel itu lemot sekale.... " dan dikabarkan ke
> sluruh penjuru dunia tentang kelemotan Excel. Padahal kan yang lemot
> manusianya kan ya... karena ndak mau belajar untuk memahami Excel.
>
> Jadi, rujukan ke seluruh kolom sebaiknya dihindari. Caranya bagaimana ?
> Antara lain dengan salah satu opsi dari beberapa opsi berikut :
> 1. Manfaatkan fitur Excel Table (xl2007 ke atas) atau List (xl2003) agar
> area data menjadi dinamis dan mudah dirujuk secara tepat dalam
> kedinamisannya
> 2. Buat nama range yang merujuk ke suatu area secara dinamis. Tentu saja
> dengan formula seperti Index dan kawan-kawan. Nah opsi ini membutuhkan
> kemauan untuk belajar. Hati-hati loh... kegiatan belajar itu sangatlah
> berat bagi manusia yang pengen maju dengan cara instan. Artinya, kemajuan
> yang didapat instan adalah kemajuan semu... kemajuan bawang kotong alias
> tong kosong sajah...
> 3. Ubah sumber data jika belum berkaidah tabel database menjadi tabel
> berkaidah tabel database, dan susun ulang proses untuk menghasilkan output
> agar bisa memanfaatkan fitur seperti Pivot Table (baik Excel Pivot Table
> atau Power Pivot [xl2010 keatas])
>
>
> Kira-kira demikian uraian singkatnya...
> ;)
>
> Wassalam,
> Kid.
>
>
>
>
> 2014-06-06 8:20 GMT+07:00 joko welas [email protected] [belajar-excel] <
> [email protected]>:
>
>
>>
>> pak kid
>>
>> maksih .. kalo boleh tau kenapa ya mr.kid kalo lebih dari 100 kok gak bisa
>> dengan fungsi countif....
>>
>>
>> salam
>> joko
>>
>>
>> 2014-06-05 7:55 GMT+07:00 'Mr. Kid' [email protected] [belajar-excel] <
>> [email protected]>:
>>
>>
>>>
>>> Untuk jumlah cell $D2:$K2 yang tidak lebih dari 100
>>> bisa dengan fungsi CountIF sebagai alat cek keberadaan suatu nilai,
>>> seperti :
>>> =( CountIF( $D2:$K2 , M$1 ) >0 ) *$L2
>>>
>>> Wassalam,
>>> Kid.
>>>
>>>
>>>
>>> 2014-06-04 10:29 GMT+07:00 'Bagus' [email protected] [belajar-excel] <
>>> [email protected]>:
>>>
>>>
>>>>
>>>> 
>>>> Hai Joko;
>>>>
>>>> Coba begini:
>>>> =ISNUMBER(MATCH(M$1,$D2:$K2,0))*$L2
>>>> Copas kekanan dan kebawah
>>>>
>>>>
>>>>
>>>> Wassalam
>>>>
>>>> ~ Bagus ~
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>> *From:* joko welas [email protected] [belajar-excel]
>>>> <[email protected]+[belajar-excel]>
>>>> *To:* [email protected]
>>>> *Sent:* Wednesday, June 04, 2014 8:47 AM
>>>> *Subject:* [belajar-excel] memberi uang hadir otomatis [1 Attachment]
>>>>
>>>>
>>>>
>>>>     asalamu alaikum wr. wb
>>>>
>>>> salam be excel
>>>>
>>>> begini suhu excel
>>>>
>>>> saya punya data rekap hadir. setiap peserta yang hadir dapat uang hadir.
>>>> pertanyaanya. bagaimana memberikan uang hadir tersebut sesuai nama jang
>>>> hadir saja.
>>>>
>>>> untuk jelasnya file terlampir.
>>>>
>>>>
>>>> salam
>>>>
>>>>
>>>> joko
>>>>
>>>>
>>>
>>
>
>

Kirim email ke