Sabtu, 23 Juli 2016

[belajar-excel] Digest Number 3917

4 Messages

Digest #3917
2a
Re: Membuat Rangking Sederhana by "Mr. Kid" nmkid.family@ymail.com
3a
Re: Bantu Script Tambah, Edit, Ok, Batal by "Mr. Kid" nmkid.family@ymail.com

Messages

Fri Jul 22, 2016 3:57 am (PDT) . Posted by:

"farud oke"

Berminat sekali cma klo k jkarta trlalu jauh (madura pnya)
Kpan d adakan d srbaya..!!??
Pada tanggal 22 Jul 2016 10.17 AM, "muhammad iqbal iq_bal76id@yahoo.com
[belajar-excel]" <belajar-excel@yahoogroups.com> menulis:

>
>
> berikut info yg ada di web
>
> PendaftaranBagi rekan-rekan yang berminat, silahkan kirim email ke:
> *training@belajar-excel.com* <training@belajar-excel.com>
> cantumkan data:
>
> - Nama lengkap
> - Alamat
> - Pekerjaan
> - Nama perusahaan/kantor
> - Jabatan
> - Email
> - No. Kontak/HP
>
>
> (Pendaftaran terbuka juga untuk umum/bukan anggota milis).
>
> Proses pengadaan training akan diatur oleh "Admin Training", yaitu
> penentuan jadwal dan transfer biaya, yang akan diinformasikan melalui email
> atau no. kontak yang diberikan.
>
> thanks
> br
> muhammad iqbal
>
> Sent from my iPhone
>
> On Jul 21, 2016, at 22:53, Dwi Ardhi ardhidwirari@gmail.com
> [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
>
>
> Saya ikut, daftarnya gimana ni, di web kok ga ada infonya, di halaman mana
> suhu, mohon izin ikut....
>
> On Jul 21, 2016 3:17 PM, "hendrik karnadi hendrikkarnadi@yahoo.com
> [belajar-excel]" <belajar-excel@yahoogroups.com> wrote:

>
>>
>>
>> Ini kesempatan yang langka....sesepuh mau turun gunung.
>>
>> Salam,
>> HK
>>
>> ------------------------------
>> *From:* "Belajar Excel training.msexcel@gmail.com [belajar-excel]" <
>> belajar-excel@yahoogroups.com>
>> *To:* belajar-excel@yahoogroups.com
>> *Sent:* Thursday, 21 July 2016, 11:11
>> *Subject:* [belajar-excel] Info Training MS Excel
>>
>>
>> Dear rekan-rekan Belajar-Excel
>>
>> Untuk membantu rekan-rekan agar lebih cepat dalam proses belajarnya, di
>> bulan Agustus 2016 ini kita akan menggelar TRAINING MS Excel.
>> Ada 2 materi, yaitu BASIC dan INTERMEDIATE, masing-masing materi
>> diberikan dalam sehari.
>> Silahkan lihat informasi dan syllabus di b-excel.blogspot.co.id
>>
>> Semoga manfaat ya!
>>
>>
>>
>>
>

Fri Jul 22, 2016 9:16 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

walaupun kasusnya dah selesai, ikutan ah...
kayanya asik buat bahan dongeng pasca idul fitri nih...
:)

Saran :
Andai ada kebingungan dengan beberapa formula tentang pemeringkat data,
bisa jalan-jalan kesini
<http://excel-mr-kid.blogspot.co.id/2012/05/pemeringkatan-data-ranking.html>
.

Pinjam formula mas Heri (fokus pada yang diblok kuning dulu ya)

=IF(J6>0;RANK(J6;$J$6:$J$21;0);RANK(J6;$J$6:$J$21;1))

Jika J6 positif, maka urutkan descending
Jika J6 bukan positif (yaitu negatif atau 0), maka urutkan ascending

oh iya, sebelum lupa...
mas Heri menggunakan regional setting Indonesian (ada karakter ; dalam
formula), jadi seluruh formula dalam dongeng ini juga akan menggunakan
setting Indonesian.
Kalau komputer setempat pakai setting English, ganti karakter ; menjadi ,
ya... KECUALI ; yang berwarna biru dan tebal

Dongengnya mulai disini....

Kita ubah dikit, supaya nilai 0 tidak jadi peringkat 1 diarea nilai-nilai
kolom J yang negatif atau nol (bukan positif). Formulanya begini :

=IF(*J6<0*;RANK(J6;$J$6:$J$21;1);RANK(J6;$J$6:$J$21;0))

Jika J6 negatif, maka urutkan ascending -> 0 bukanlah nilai negatif, jadi
pasti peringkat ke-1 dari nilai-nilai J yang negatif pastilah bernilai
negatif
Jika J6 bukan negatif (positif atau nol), maka urutkan descending, jadi
pasti peringkat ke-1 dari nilai-nilai J yang positif atau nol adalah
bernilai positif
Jadi, nilai J6 yang nol akan mendapat peringkat rendah (peringkat tertinggi
adalah peringkat ke-1)

Sekarang, dari formula yang sudah sedikit diperbaiki di atas, yaitu yang
berbunyi :

=IF(*J6<0*;RANK(J6;$J$6:$J$21;1);RANK(J6;$J$6:$J$21;0))

bisa disederhanakan menjadi :

=RANK(J6;$J$6:$J$21;*J6<0*)

Jika J6 negatif, maka urutkan ascending (kode pengurutan angka 1 alias
setara dengan TRUE yang digantikan oleh bagian *J6<0*)
Jika J6 bukan negatif (yaitu positif atau nol), maka urutkan descending
(kode pengurutan 0 alias setara dengan FALSE yang digantikan oleh bagian
*J6<0*)

Hasilnya,
Nilai positif tertinggi akan bernilai peringkat 1
Nilai negatif tertinggi akan bernilai peringkat 1 juga

Andai di kolom J ada 15 records positif, 15 records negatif, dan 0 record
bernilai 0 (tidak ada nilai 0)
maka peringkat 1 sampai 15 akan dimiliki oleh bagian nilai-nilai yang
positif maupun yang negatif.

Permasalahan berikutnya :
Bagaimana mengambil nilai yang positif saja dari peringkat 1 sampai 10 ?
>> tentu butuh kolom lain sebagai kriteria, misalnya berdasar kolom i yang
berisi teks BUY dan SELLER
>> artinya, butuh array formula filtering untuk menyusun top 10 BUY sebagai
1 output dan top 10 SELLER sebagai 1 output yang lain
>> coba dibayangkan bila ada banyak sekali records yang harus diolah dengan
rank lalu masih perlu diolah dengan array formula filtering di tempat lain
>> tentulah kurang efisien dan mungkin akan terasa berat di suatu saat nanti

So, solusinya bagaimana ?
Salah satu alternatifnya adalah menambahkan penanda pada nilai peringkat
hasil formula rank di atas.
Misal, BUY adalah seluruh data peringkat dengan jumlah digit 3, dimana 2
digit terakhir adalah nilai peringkatnya.
Untuk SELLER adalah seluruh data peringkat dengan jumlah digit 4, dimana 2
digit terakhir adalah nilai peringkatnya.
Contoh :
101 adalah peringkat ke-1 dari BUY
1001 adalah peringkat ke-1 dari SELLER

Dengan cara ini, maka formula penyusun top 10 BUY ataupun top 10 SELLER
akan menjadi lebih sederhana.
Formula penyusun peringkatnya menjadi :
=IF( i6="SELLER" ; 1000 ; 100 ) + RANK( J6 ; $J$6:$J$21 ; *J6<0 *)

Yang dilatar hijau bisa diubah agar menggunakan kolom J menjadi :
=IF( *J6<0* ; 1000 ; 100 ) + RANK( J6 ; $J$6:$J$21 ; *J6<0 *)

hehehe...
masih bisa disederhanakan menjadi :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 + RANK( J6 ; $J$6:$J$21 ; *J6<0 *)
(ingat, angka 2 adalah ketentuan awal bahwa 2 digit terakhir sebagai nilai
peringkatnya)

Jadi, didapat formula :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 + RANK( J6 ; $J$6:$J$21 ; *J6<0 *)

Mungkin akan muncul masalah baru, ketika record datanya positif melebihi 99
records...
Tentu dengan menambahkan angka 0 dibelakang 100 dan 1000 bisa
menyelesaikannya.
Contoh, bila nilai positif ada *9999* records dan nilai negatif ada
*9999* records
juga, berarti butuh *4* digit untuk nilai peringkat.
Berarti, perlu penambahan 2 angka 0 (ingat, tadi nilai peringkat diset 2
digit terakhir dan sekarang harus jadi 4 digit terakhir).
Formulanya bisa menjadi :
=IF( *J6<0* ; 10 ; 1 ) * 10^*4* + RANK( J6 ; $J$6:$J$21 ; *J6<0 *)
Jadi, Anda bisa dengan mudah menyesuaikannya dengan kebutuhan setempat kan
ya...

Gak seru kalau masalahnya terus berhenti sampai disini...
Tambahlah ah masalahnya...

Masalah berikutnya, terkadang, ada 2 records yang nilainya sama persis, dan
harusnya nomor peringkatnya tetap urut dan unique
(supaya formula penyusun top 10 BUY dan top 10 SELLER tetap sederhana)

Berarti, perlu menggunakan formula pemeringkat yang unique, seperti dengan
bantuan fungsi CountIF
Jadi, formula yang tadinya berbunyi :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 + RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF(
J$6:J6 ; J6 ) - 1

Dari formula di atas,
bagian penyusun nilai peringkatnya adalah RANK( J6 ; $J$6:$J$21 ; *J6<0 *) +
CountIF( J$6:J6 ; J6 ) - 1
bagian penyusun kode peringkat berdasar BUY dan SELLER adalah IF( *J6<0* ;
10 ; 1 ) * 10^2 +

Selesai deh....

xixixixi...
setelah satu urusan selesai, mulailah menyelesaikan urusan lain dengan
lebih baik lagi...

Nah... urusan berikutnya :
Berapapun jumlah records nya, hanya 12 records BUY dan 12 records SELLER
saja yang diberi peringkat.
Jadi, records sisanya tidak usah diberi peringkat.

hmmm... ini dia..
berarti masih tetap butuh 2 digit terakhir sebagai nomor peringkat, karena
12 adalah bilangan 2 digit.
anggap saja masih butuh unique walau ada angka yang sama.

Jadi, formula yang akan disesuaikan adalah tetap yang berbunyi :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 + RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF(
J$6:J6 ; J6 ) - 1

Masih ingatkan kalau bagian penyusun peringkatnya adalah bagian :
RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1

Supaya bagian penyusun peringkat di atas menghasilkan maksimal 12 saja, dan
sisanya adalah terkesan kosong, maka bagian tersebut diubah menjadi begini :
IF( RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1 < 13 ;
RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1 ; "" )

waaa...... formulanya dah mulai jadi kereta nih...
lengkapnya begini formula tersebut :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 + IF( RANK( J6 ; $J$6:$J$21 ; *J6<0 *) +
CountIF( J$6:J6 ; J6 ) - 1 < 13 ; RANK( J6 ; $J$6:$J$21 ; *J6<0 *) +
CountIF( J$6:J6 ; J6 ) - 1 ; "" )

hiii... ngeri dah... bakal puyeng nih...

kalo gitu disederhanakan saja ya...
fokus ke bagian ini saja lebih dulu...
IF( RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1 < 13 ;
RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1 ; "" )

Bagian ini yang kita sederhanakan lebih dulu...

Ingat ulang ya...
pengennya hanya sampai peringkat 12 saja, yang setelahnya diberi kesan
kosong alias ndak usah ada peringkatnya...

Sekarang, coba digali-gali dalam ingatan...
Adakah disana tersimpan sesuatu yang sesuatu banget bernama Format Number ?
>> yaiy... ada.. ada..
>> Good lah kalo begitu
Kalau ada Format Number, berarti disampingnya ada asesoris berupa fungsi
yang bernama TEXT kan ya ?
>> heeh.. heeh..

Kita manfaatkan si fungsi TEXT ya...
Text( RANK( J6 ; $J$6:$J$21 ; *J6<0 *) + CountIF( J$6:J6 ; J6 ) - 1 ;
"[<=12]0*;*" )

Bagian [<=12]0*;* adalah format number custom nya
artinya, kalau nilai yang akan di-format number itu <= 12, maka diformat
dengan menampilkan bilangan apa adanya dan selain itu (karakter *;*), tidak
ditampilkan

Jadi, formula lengkapnya bisa menjadi :
=IF( *J6<0* ; 10 ; 1 ) * 10^2 *+* Text( RANK( J6 ; $J$6:$J$21 ; *J6<0 *) +
CountIF( J$6:J6 ; J6 ) - 1 ; "[<=12]0*;*" )

Masalahnya, akibat penjumlahan oleh tanda plus yang gede tebel item itu,
akan membuat error value kalau hasil peringkat adalah di atas 12.
Oleh sebab itu perlu dinetralisir...
dan...
fungsi IFError bisa digunakan....
Formulanya menjadi :
=IFError( IF( *J6<0* ; 10 ; 1 ) * 10^2 *+* Text( RANK( J6 ; $J$6:$J$21 ; *J6<0
*) + CountIF( J$6:J6 ; J6 ) - 1 ; "[<=12]0*;*" ) ; "" )

tada...
inilah formula akhirnya :
=IFError( IF( *J6<0* ; 10 ; 1 ) * 10^2 *+* Text( RANK( J6 ; $J$6:$J$21 ; *J6<0
*) + CountIF( J$6:J6 ; J6 ) - 1 ; "[<=12]0*;*" ) ; "" )

Akhirnya, untuk sementara, si formula bisa hidup tenang dan bahagia
digunakan untuk menyusun top 10 BUY maupun top 10 SELLER

the end...

atau to be continued ya ?

hehehe...
Berhubung lagi baik hati, disertakanlah contoh filenya... lengkap dengan
tambahan beberapa records untuk mempermudah mencapai puncak puyengnya...

met berpuyeng ria

Wassalamu'alaikum
Kid

2016-07-21 15:57 GMT+07:00 'Heri Pamungkas ( Gmail )' ghery.dharma@gmail.com
[belajar-excel] <belajar-excel@yahoogroups.com>:

>
>
>
> السَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
> Semangat pagi,.
>
> Sambil menunggu para Suhu sementara bisa menggunakan :
>
> =IF(J6>0;RANK(J6;$J$6:$J$21;0);RANK(J6;$J$6:$J$21;1))
>
> di Cell M6
>
>
> وَالسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
>
> Warm Regards,
>
> On 21/07/2016 14:45, sh.ronald@yahoo.co.id [belajar-excel] wrote:
>
>
>
> Selamat siang rekan belajar Excel,
>
> Mohon bantuan atas kesulitan yang sedang saya kerjakan. File lampiran
> terlampir.
> Atas bantuannya saya ucapkan terima kasih.
>
> Ronald
>
>
>
>
>

Fri Jul 22, 2016 9:30 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Hai Roni,

iya ya... sepi banget..

tapi, bisa jadi sebenarnya tidak sepi loh...

psst... tau gak... seringnya, BeExceller ogah sama pertanyaan borongan yang
tampak kesan pengen dibuatin sampai jadi..
tapi ini cuma dugaan loh ya.. dugaan doing... jadi belum tentu bener loh...

kayanya, diubah dikit pertanyaannya atau dipecah jadi beberapa kasus yang
diutarakan satu per satu lebih bisa membuat BeExceller gampang ikhlas
mbantuin nunjukin arahnya deh..

Regards,
Kid

2016-07-21 12:39 GMT+07:00 y.roni35@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com>:

>
>
> sepi banget ga ada yg reply
> Terlampir file nya maklum filenya melebihi 250 kb di
> https://drive.google.com/file/d/0B1SgVJlUuG_FSGtCRFJpV2kwajQ/view?usp=sharing
>
> Mohon dibantu untuk melengkapi script berikut:
>
> 1. Tambah
> 2. Edit
> 3. Ok
> 4. Batal.
>
>
>

Fri Jul 22, 2016 10:20 pm (PDT) . Posted by:

"widodo budi"

Assalamu'alaikum warahmatullah,
Sahabat excel,Sekedar share, aplikasi tanpa makro siap pakai, kalkulasi menggunakan eliminasi gauss-jordan untuk berbagai kebutuhan.Matrix aplikasi di batasi hingga 10x10, silakan dikembangkan hingga matrix tak hingga jika dibutuhkan.
Semoga bermanfaat.
Wassalamu'alaikum warahmatullah.Wid0812 1988 6207
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar