Tecnologia, programação e muito Visual FoxPro.

terça-feira, 7 de junho de 2011

Re: ]] XL-mania [[ Pencarian Harga Terakhir

 

Rumus pembantu (rumus yg dibuat oleh pembantu) untuk mencari IndexBaris 

pada tabel berdasarkan 2 kriteria,  berupa  Arrfay Formula sbb

=ROUND(MOD(MAX(IF('Data Pembelian'!$A$3:$A$34=Sheet2!A3,
 'Data Pembelian'!$B$3:$B$34+ROW($1:$32)/1000)),1)*1000,0)

Jika di-khawatir-kan data tangal mengandung nilai Time, koreksi dikitlah dengan
INT('Data Pembelian'!$B$3:$B$34+ROW($1:$32)/1000)

Bdsk (berdasarkan) hsl (hasil) aryfml (arrayFormula) tsb (tersebut), kita dapat melongkok 
(LookUp) records yg dicari, hanya dengan kalimat pendek dan kekar,  seperti ini

=OFFSET('Data Pembelian'!C$2,$H3,0)

jaaadi dech !


Sekarang kita mau ceritak dikitts tentang: Algoritma Formula Pembantu:

1. 
semua data di sheet DATA /TabelRef di kolom A (nama barang) dibandingkan dengan Kriteria
( yg dimaksod dgn KRITERIA adalah data yg tertulis di sheet 2 kolom A mulai baris 3 ke bawah...)

Setiap data yg cocok diberi nilai Tanggal-nya (yg ada di kolom B), ditambah nilai khusus yaitu
nilai Index (urutan posisi record pada Tabel Ref)  dibagi seribu (nanti gunanya akan terjelaskan juga)

Jika tidak cocok ya  diDIEMkan saja dwong, biarkan dia ngambeg menjadi nilai FALSE
Hasil dari pembandingan antara array -vs- data ini menghasilkan array data juga.
Tahap ini dikerjakan oleh Fungsi IF
Jika didalamnya ada  ROW(1:32),  array itulah yg dipakai sebagai nomor index tiap baris data 
di tabel Ref.
(kalok gak percaya: pilih /Blok-lah  [32 cells sekolom] di mana saja, 
lalu tuliskan rumus =ROW(1:32) di Formula-Bar atau di cell pertama pada Blok itu; 
akhiri tugas-suci itu dengan menekan 3 kunci/tombol : Ctrl + SHift + Enterrrr ! )
( lihat visualisasi penjelasan di sheet Data.., Kolom J sampai kolom Q )


2.
Array data hasil IF tsb kemudian dicari nilai MAX nya  (dengan fungsi MAX kan yaa?)
ketika itu hasilnya adalah data tangal terbesar (dlm bentuk serial number) tetapi ketambahan
milai Index Baris yg dibagi seribu (misal indexnya 11 keliatanhya seperti ini  NNNN,011)

3.
Kita tahu bahwa  0,011 itu dapat kita ambil dari NNNN,011 dengan berbagai cara, tetapi saya
suka pakai cara fungsi MOD    
MOD( NNNN,011; 1)  hasilnya 0.011    INi hanyalah trick bodohbodohan dengan mendasarkan
keyakinan bahwa bilangan pecah bila dibagi satu maka sisa pembagiannya (MOD-nya) terntulah
bagian pecahannya itu sendiri.

Semoga anda masih ingat bahwa 011 itu tadi asalnya dari ANGKA URUT (index data, salah satu dari
urutan  1 sampai 32 ) yg dibagi seribu
Untuk mengembalikan mnjadi 11 lagi ya jangan posing lah, kitakalikan saja dengan 1000

Dengan kriteria terntentu ( "Gula Pasir er Kg") Hasil akhir dari RUmus Pembantu itu adalah 11
Artinya: pembelian "Gula Pasier per Kg" itu mungkin pernah terjadi berkali kali,  atetapi ..
tanggal pembelian yg terbesar adalah yg berada di index 11 (urutan data ke 11)

Itulah kerjaan pembantu kita yg gesit...
=ROUND(MOD(MAX(IF('Data Pembelian'!$A$3:$A$34=Sheet2!A9,INT('Data Pembelian'!$B$3:$B$34)+ROW($1:$32)/1000)),1)*1000,0)


Kita sendiri tinggal mengerjakan sisanya yg tak ada sulit-sulitnya..
Dengan telah diketahui Nomor Lantainya, teman baik kita yg di gedung-tinggi  di 
sebalah kantor kita, akan mudah kita cari.
Tekan LANTAI 11 pada panel LIFT,  setelah sampai di lantai 11 tinggal tengok kanan kiri
Di kolom mana dia berada, hampiri dia; pegang dan gandeng tangannya dengan mesrah, 
ajak-lah turun sekedar makan pecel lele bersama..


Begitu kan perumpamaannya. !??



2011/6/6 Partroom 1 <tpmpc1@chemi-con.co.id>

Dear Para Master.
Setiap minggu saya membuat daftar belanjaan yang saya ajukan sama Boss
dengan kisaran harga berdasarkan pembelian terakhir dari salah satu supplier.
 
Masalahnya adalah data pembeliannya semakin bertambah,
dan membuat saya kerepotan untuk sorting datanya.
Karena saya mencarinya manual dengan Auto Filter kemudian saya copy.
 
Mungkin ada yang bisa bantu saya agar proses pencariaan harga bisa lebih cepat,
 
Terimakasih sebelumnya
Dalis

__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| maaf baru moderate sekarang... momods kurang tidur berhari-hari   |
| jadi budak kantoooOOooorrr...                                     |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog