Wow, penjelasan Master Kid RUAR BIASA. Baiklah saya coba membuat seperti
yang Master jelaskan. Dan hasilnya nanti saya kirimkan ke group untuk
di-review.

On Mon, Dec 10, 2018 at 12:39 AM 'Mr. Kid' [email protected]
[belajar-excel] <[email protected]> wrote:

>
>
> Begini,
> Prinsip dasar mengolah data di Excel :
> "Sebisa mungkin Excel mendapatkan data yang sudah siap pakai (data clean),
> agar tidak perlu (setidaknya dapat mengurangi beban) proses penyiapan data
> untuk bisa diolah lebih lanjut"
>
> 1. Terlepas data dari setiap guru seperti apa bentuknya, usahakan hasil
> akhir dari pengumpulan semua data dari semua guru adalah seperti ini
> (apapun proses yang dibutuhkan) :
>
> [image: rng1.gif]
>
> Disana ada kolom NIS. Kolom NIS yang menjadi andalan untuk proses
> selanjutnya.
> Kolom NAMA sangat buruk untuk diandalkan dalam proses selanjutnya, karena
> pada umumnya, teks nama bisa sama. Lihat saja nama ANI di file asli Anda.
> Kolom IDRecord berisi formula.
> Proses pengumpulan data yang Anda miliki (entah itu dengan VBA baca setiap
> file dari setiap guru setiap siswa atau apapun bentuknya) hanya mengisi
> kolom selain IDRecord.
> Nama tabel ini misalnya (Excel Table ya) dtNILAI
>
> 2. Siapkan tabel-tabel referensi
> Untuk kasus ini, sepertinya tabel referensi daftar siswa dan tabel
> referensi daftar bulan tahun data sudah mencukupi.
> Misalnya seperti ini :
>
> [image: rng2.gif]
>
> Misal tabel referensi siswa (Excel Table) diberi nama refSISWA.
> Tabel referensi bulan tahun berisi nilai tanggal 1 setiap bulan dalam
> setahun (bisa setahun ajaran) diberi nama refPERIODE (Excel Table) dan bisa
> disusun dengan formula bila perlu.
> Tabel ini akan dimanfaatkan untuk membuat daftar pilihan di tabel output.
> Misal pilihan dengan fitur Data Validation.
>
> 3. Menyiapkan sheet output
> > susun items di sheet output.
> > Misal sheet output akan memberi pilihan kepada user untuk memilih nama
> siswa, maka daftar nama siswa yang disajikan dalam daftar adalah dari kolom
> NIS_NAMA tabel referensi refSISWA.
>    Bukan dari kolom NAMA karena akan berisi nama yang duplicate dan Excel
> tidak bisa membedakan dengan mudah
>    ** artinya, jika Anda menggunakan kolom NAMA saja, maka Anda akan
> bekerja keras menyusun formula rumit dan menguras kerja komputer untuk
> sekadar memberi tahu Excel,
>        nama terpilih yang tepat itu yang dengan NIS berapa.
>    Jadi, dibuatlah sebuah nama range (misal bernama _lstSISWA_ ) yang
> merujuk hanya di kolom NIS_NAMA di tabel referensi refSISWA.
>    Nama range _lstSISWA_ akan digunakan dalam data validation di sheet
> output.
>    Misal begini :
>
>
> [image: rng3.gif]
>
> Kelebihan dari pemanfaatan fitur Excel Table adalah sifatnya sebagai tabel
> dinamis. Jadi, nama range yang merujuk ke sebuah kolom Excel Table juga
> otomatis akan dinamis.
>
> > Lakukan juga pada referensi bulan tahun yang merujuk ke refPERIODE kolom
> PERIODE, dan misal diberi nama _lstPERIODE_
>
> 4. Menyusun sheet output.
> > Pasang data validation untuk bulan tahun dan pilih sebuah item (misal
> pilih Nov-2018) [atur format number-nya bila perlu]
> > Pasang data validation untuk nama yang berisi daftar NIS dan NAMA
> (merujuk ke _lstSISWA_)
> > Susun items output di sisi baris
> > Susun tanggal di sisi kolom berisi nilai tanggal
>     ** tanggal 1 merujuk ke cells pilihan bulan lewat data validation
> tadi,
>     ** tanggal 2 berisi formula nilai tanggal 1 ditambah dengan angka 1,
>     ** dst untuk tanggal lain
> > susun formula hasil dengan formula yang sesederhana mungkin
>    ** karena tabel data (dtNILAI) sudah memiliki kolom IDRecord di sisi
> kiri tabel, maka fungsi vLookUp bisa digunakan. Bila perlu sertakan IFError.
>
> Misalnya begini :
>
> [image: rng4.gif]
>
> Kolom IDRecord di tabel dtNILAI disusun dengan format   nis|tgl|indikator
> Maka lookup value juga disusun dengan format seperti format IDRecord,
> dengan nilai-nilai cells yang diambil dari sheet output yang bersesuaian
> Atur absolute references dalam formula sesuai kondisi yang dibutuhkan
> (mana yang harus absolute kolom, atau absolute baris, dsb)
>
>
> Semakin sederhana formula, dengan proses komputasi di setiap formula yang
> tidak melibatkan range yang banyak, akan membuat kerja Excel menjadi lebih
> optimum.
>
>
> Andai menggunakan fitur PowerPivot, bisa lebih bagus lagi...
> Proses pengumpul data yang Anda miliki bisa ditata agar bisa menghasilkan
> data seperti ini :
>
> [image: rng11.gif]
>
> Tabel di atas masih kurang bagus. Lebih bagus lagi jika kolom INDIKATOR
> hanya berisi kode item. Tapi tak mengapa, sekadar untuk belajar supaya
> tidak terlalu ruwet.
>
>
> Lalu, referensi disiapkan seperti ini :
>
> [image: rng12.gif]Tabel tanggal setahun (tabel paling kanan) untuk
> dimensi waktu di dalam Excel Pivot Table nanti.
>
>
> Semua excel tabel di-Add to data model (semua yang ada di sheet data dan
> di sheet referensi)
> Kemudian disusun relasi antar tabelnya (dari nama kolomnya saja sudah bisa
> tampak relasinya kan, seperti INDIKATOR di referensi bertemu INDIKATOR di
> tabel data, dan sebagainya)
>
> Lalu dibuatlah sebuah Measure (field yang akan diletakkan di bagian VALUES
> dalam Excel Pivot Table). Misal bernama NILAI_SISWA di tabel data yang ada
> di model.
> Seperti ini :
>
> [image: rng13.gif]
>
> Kemudian kirim data dari data model ke Excel Pivot Table, dan susun pivot
> table. Misalnya begini :
>
> [image: rng14.gif]Yup, bagian VALUES berisi data bertipe text hasil dari
> measure bernama NAMA_SISWA
>
> Slicer bisa dimanfaatkan untuk memudahkan pemilihan nama siswa oleh user
> (lihat kotak latar putih berisi daftar NIS dan NAMA)
>
> Susunan layout Excel Pivot Table-nya adalah seperti ini :
>
> [image: rng15.gif]
>
>
> btw,
> terkadang, ada aja yang bilang :
> "mendapatkan data seperti tabel data seperti itu prosesnya rumit."
> > plis deh...
> > manfaatkan PowerQuery daripada VBA, maka akan lebih gampang. Siapa saja
> bisa belajar dengan cepat. Jauh lebih cepat dibanding belajar VBA supaya
> bisa menyusun data seperti itu.
> > Proses penyiapan data dengan PowerQuery hanya dilakukan 1 kali seumur
> hidup data. VBA cuma berisi perintah refresh doang...
>
> Pakai contoh saja deh...
> Misal ada file data seperti ini :
>
> [image: rng22.gif]Kolom A sampai Kolom H di set sebagai header yang
> di-merged cells 2 baris.
>
> Baris 1, pada kolom i dan seterusnya berisi NIS
> Baris 2, pada kolom i dan seterusnya berisi NAMA
> Kalau baris 1 di-hide, user akan melihat tabel dengan header 1 baris di
> baris 2.
> Anggap saja nama filenya Kelas_A.xlsx
> Data di sheet yang tetap, yang misalnya di sheet bernama HARIAN
>
>
> Di sebuah workbook baru bisa dibuat proses powerquery (di xl2013 ada menu
> PowerQuery, di xl2016 ke atas, ada di menu DATA) -> get data -> from file
> -> pilih Excel
> -> pilih file Kelas_A.xlsx (atau apalah file Anda) -> OK
> -> muncul pilihan nama sheet -> pilih sheet bernama HARIAN -> tekan EDIT
> -> muncul PowerQuery Editor
> hasil load pertama seperti ini misalnya :
>
> [image: rng23.gif]
>
> Proses berikutnya adalah proses mengubah data tersebut, yang tadinya
> horisontal, jadi vertikal.
> Seakan di-transpose sebagian kolomnya, yaitu bagian kolom berisi kode NIS.
> Ini namanya proses unpivot.
> Urutannya begini :
> 1. lihat sisi kanan, ada bagian Query Settings -> ada kotak Applied Steps
> -> klik proses bernama 'Changed Type' -> klik tanda x yang muncul atau klik
> kanan pilih Delete
>     ** menentukan tipe data dilakukan nanti saja di proses akhir (lihat di
> langkah 6)
> 2. set first row as header (ada di menu Home dalam PowerQuery Editor)
> 3. filter kolom INDIKATOR -> remove empty (baris yang blank dibuang saja)
> 4. buang kolom yang tidak penting, misal kolom NO, PROGRAM bla, KOMPETENSI
> bla, KELOMPOK, MINGGU KE, BULAN
>     >caranya : pilih kolom-kolom tersebut -> menu HOME -> remove columns
> 5. lakukan unpivot : blok kolom INDIKATOR dan TGL -> menu TRANSFORM ->
> klik panah kecil Unpivot Columns -> pilih Unpivot Other Columns
> 6. ganti nama kolom Attribute menjadi NIS : klik kanan kolom Attribute ->
> rename -> tulis NIS -> OK
>     * lakukan juga untuk kolom VALUE menjadi kolom bernama NILAI
>     ** bila perlu, ubah tipe data* setiap kolom agar sesuai, seperti
> kolom NIS menjadi number : klik kolom NIS -> menu HOME -> Data Type ->
> pilih Whole Number
> 99. dah jadi, tinggal ditampilkan ke worksheet atau langsung dikirim ke
> PowerPivot Data Model : menu HOME -> klik panah kecil Close & Load -> pilih
> Close & Load To
>     muncul window peletakan hasil -> atur sesuai kebutuhan
> Seperti begini jadinya :
>
> [image: rng24.gif]
>
>
>
> sudah begini, masih ada yang bilang :
> "Filenya ada banyak loh..., mosok atu-atu..."
> > Ya, kalo mau atu-atu juga gpp kok....
> > Kalo mau langsung sefolder juga bisa...
> > Tinggal bikin sebuah folder yang isinya semua files yang dibutuhkan,
> misal Kelas_A.xlsx, dsb yang pasti ada sheet bernama HARIAN dengan susunan
> yang tetap.
> > Trus bikin deh di workbook baru, proses untuk etl (extract, transform,
> load) semua file dalam folder itu.
> > Kan udah bisa bikin untuk 1 file. Tinggal belajar dikit lagi, n beres
> deh... (no offense, ini beneran mudah)
>
> Pakai contoh lagi deh
> Misal ada folder bernama DATA di drive D berisi files yang mau diproses.
> Kelas_A.xlsx dan sebagainya, yang pasti ada sheet bernama HARIAN
>
> 0. Ambil 1 file dulu, misal Kelas_A.xlsx pakai cara di atas tadi dari
> langkah 1 sampai 6 (langkah 99 nya nanti saja kalau sudah selesai semua
> proses setiap file dalam folder)
> 7. di dalam PowerQuery Editor, edit query HARIAN : klik kanan nama query
> HARIAN -> pilih Advanced Editor -> muncul banyak tulisan tuh
>     -> di baris pertama, di-Enter supaya ada baris kosong -> lalu tambahin
> bunyi set variabel berbunyi [ini case sensitive ya, jadi harus persis] :
> (isiFILE as binary) =>
>         * nama variabelnya adalah isiFILE
>     -> lalu lihat baris Source = blabla, ganti bagian berbunyi
> *File.Contents("D:\DATA\Kelas_A.xlsx")*  dengan nama variabelnya, yaitu
> isiFILE (case sensitive ya)
>     -> tekan DONE
>     *** ini namanya membuat function di dalam powerquery, supaya bisa
> dipakai dalam formula.
>     seperti ini jadinya isi si query HARIAN :
>
> [image: rng25.gif]
>
>
> 8. Sekarang mau membuat daftar file dan mengangkut semua sheet dari
> masing-masing file ke dalam PowerQuery, caranya adalah dengan membuat query
> baru :
>     di PowerQuery Editor -> di sisi kiri ada bagian Queries -> klik kanan
> bagian Queries -> pilih New Query -> File -> pilih Folder -> tunjuk folder
> DATA yang berisi banyak file itu -> OK
>     -> muncul daftar file -> EDIT
>     Seperti ini : (nama query barunya adalah DATA [isinya daftar file
> beserta isinya])
>
> [image: rng26.gif]
>
> nah loh... mau bikin daftar file lengkap dengan berbagai info tentang file
> juga bisa dilakukan dengan langkah 8 ini kan...
>
> tinggal pilih kolom mana yang harus dihapus
>
> Kolom [Content] itu isinya semua data di setiap sheet dalam file tersebut
>
> 9. ok, misal hasil akhir pengen ada nama filenya di kolom pertama ya...
> jadi kolom yang dipakai cuma kolom [Content] dan kolom [Name]. Kolom
> lainnya dibuang.
>     gini : klik kolom Name -> tekan CTRL jangan dilepasin -> klik kolom
> Content   [ini namanya cara blok banyak kolom sesuai selera]
>     -> klik kanan kolom-kolom yang terblok -> pilih remove other columns
>
> 10. kalau mau supaya ekstension file nya hilang, bisa di-replace. Atau
> kalau ada file lainnya, bisa difilter. Atur saja seperti pakai autofilter.
> 11. Mengeluarkan tabel sheet harian dari setiap file
>       -> menu Add Column -> add custom column -> muncul tempat nulis
> formula
>       *** masih ingat ya, tadi ada function baca sebuah file sheet harian
> bernama HARIAN
>      -> tulis di tempat nulis formula tersebut bunyi function HARIAN dan
> isi variabel dengan kolom Content (kolom Content isinya semua data di dalam
> file kan ya)
>      -> tekan OK
>      Begini :
>
> [image: rng27..gif]
>
>     dan hasil query jadi begini :
>
> [image: rng28.gif]
>
>      kolom baru (dalam contoh ini bernama [Custom]) berisi table hasil
> proses function HARIAN. Isinya ya seperti data HARIAN yang sudah diproses
> jadi vertikal itu.
>
> 12. Membuka isi kolom berisi Table (dalam contoh ini di kolom Custom)
>       > di kolom Custom ada panah berlok kiri dan kanan -> klik panah
> belok kiri kanan itu untuk Expand -> muncul daftar kolom -> centang semua
> kolom
>       -> hilangkan centang dari item 'Use original blabla' -> tekan OK
> 13. buang kolom Content (karena tidak dipakai lagi), ubah nama kolom Name
> menjadi bernama KELAS, atur tipe data setiap kolom, bila perlu filter kolom
> NILAI remove empty
> 14. Close & Load To -> muncul window lokasi peletakan hasil
>       > Kalau data hasil gabungan files dan transformasi itu bisa lebih
> dari 1 juta (misal, sampai 2 juta atau 40 juta lebih gitu) atau ingin
> disimpan dalam data model, maka :
>              pilih Connection Only -> centang Add to data model -> OK
> [ini supaya bisa langsung digunakan oleh PowerPivot dan jadi lebih cepat]
>       > Kalau ingin disimpan dalam sheet (khusus hasil tidak lebih dari
> jumlah baris Excel), maka :
>              pilih Sheet -> HILANGKAN CENTANG dari Add to data model -> OK
> (supaya file tidak besar banget karena nyimpan di 2 tempat sekaligus)
> *** Kalau sudah sampai langkah 14, proses dalam data model bisa dilakukan
> seperti dongeng jauh di atas sana tentang power pivot tadi.
>
>
> sudah begini pun, masih ada yang bilang :
> "weeee... data saya itu ada di banyak sub folder tauk... gak sesimpel
> itu..."
> > walah, jadi orang kok gak simpel.. kacian deh lu...
> > ya sudah lah... yang waras ngalah
> > mau ditaruh di sub sub sub folder berbagai macam dan banyaknya
> terserah... pokok e cuman sampai langkah 14 gitu doang
> > tinggal refresh sesukanya, kalo sekali refresh gak ter-update, lakukan
> sampai 3 kali...
> > kalo 3 kali refresh masih belum update, lakukan 1 kali lagi sambil sebut
> namanya Kid... wkwkwkwk
> > kalo tetep gak bisa, berarti Anda kurang beruntung... (gak ngepren sama
> Kid kali lu)
>
>
> ah udah ah..
> bisa tambah error kalo dilanjutin
> segitu aja deh..
>
> selamat mencoba..
> jangan ngimpi dapet file jadi ya...
> wkwkwkwk..
>
> Regards,
> Kid
>
>
>
>
>
>
> On Sun, Dec 9, 2018 at 4:30 PM Cari Kebenaran [email protected]
> [belajar-excel] <[email protected]> wrote:
>
>>
>>
>> Terima Bapak NangAgus. Rumusnya berjalan.. Mohon maaf kalau Bapak pusing
>> melihat tabel penilaian di PAUD. Itu tuntutan kurikulum PAUD 2013.
>>
>> Untuk Master Kid yang menanyakan apakah tabel datanya diubah jadi ke
>> bawah bagaimana ?
>> Jawaban saya: Silakan diubah. Kami dengan senang hati akan menerima tiap
>> masukan.
>> Oke Master, saya jadi sangat pingin lihat perubahan tersebut.
>>
>> Terima kasih
>>
>>
>>
>> On Sun, Dec 9, 2018 at 12:06 AM 'Mr. Kid' [email protected]
>> [belajar-excel] <[email protected]> wrote:
>>
>>>
>>>
>>> Kalau tabel datanya diubah jadi ke bawah bagaimana ?
>>>
>>> Cuma iseng nanya kok
>>> Biasanya dijawab gak bisa dengan berbagai alasan.
>>>
>>> Tapi, sapa tahu yang ini gak biasa, jadi tabelnya akan diubah jadi ke
>>> bawah.
>>>
>>> Sent from my smart enough phone
>>>
>>> On Dec 8, 2018, at 21:32, Agus [email protected] [belajar-excel] <
>>> [email protected]> wrote:
>>>
>>>
>>>
>>> Aduh,......
>>> Format nilainya membuat saya pusing.
>>> untuk satu siswa saja harus mengisi sangat banyak dan demikian rumitnya.
>>> saya sedang membayangkan jika ada seorang guru membuat nilai untuk 1.000
>>> siswa seperti saya berapa banyak yang harus diisikan! maklumlah saya tidak
>>> pernah belajar untuk menjadi guru anak kecil,
>>> Mohon maaf atas segala kesalahan.
>>> Coba di D6 diketik pormula:
>>>
>>> *=IFERROR(INDEX(HARIAN!$I$2:$AV$8,MATCH(D$5&$C6,INDEX(DAY(HARIAN!$F$2:$F$8)&HARIAN!$D$2:$D$8,,),0),MATCH($B$2,HARIAN!$I$1:$AV$1,0)),"")*
>>>
>>> Kopi pormula tersebut ke semua area.
>>> Perlu diingat formula tersebut hanya membaca tanggal saja sesuai dengan
>>> permintaan, namun belum dapat membedakan tanggal untuk bulan berbeda
>>> apalagi tahun yang berbeda pasti tidak dapat dibedakan.
>>> Jika menghendaki sesuai tanggal yang benar lakukan hal berikut:
>>> 1. ubah saja value di D5 menjadi 1-11-18 dan ubah pula formatnya agar
>>> menampilkan tanggal saja.
>>> 2. ubah formula di atas dengan menghapus DAY
>>> Salam
>>> NangAgus
>>>
>>> On 12/8/2018 08:59, Cari Kebenaran [email protected]
>>> [belajar-excel] wrote:
>>>
>>>
>>> Kepada Yth. Para Master dan segenap anggota milis. Tolong dibantu.
>>>
>>> Dalam kasus ini saya punya dua sheet, yaitu HARIAN dan BULANAN.
>>> Persoalannya adalah:
>>>
>>> Saya ingin mengisi nilai siswa pada range D6:AH167 (pada sheet BULANAN)
>>> secara otomatis
>>> berdasarkan nilai yang dicapai oleh siswa pada sheet HARIAN sesuai
>>> dengan nama NAMA, INDIKATOR, DAN TANGGAL. Jadi ada 3 kriteria untuk mengisi
>>> range D6:AH167 sheet HARIAN, yaitu NAMA, INDIKATOR, DAN *TANGGAL*
>>>
>>> Nama siswa sebagai filter-nya ada di cell B2 pada (sheet BULANAN).
>>> Ketika saya mengubah nama siswa pada cell B2 (sebagai filter) di sheet
>>> BULANAN maka hanya nilai dari siswa tersebut yang muncul di range nilai
>>> (D6:AH167, sheet BULANAN).
>>>
>>> Range D5:AH5 (sheet BULANAN) merupakan  tanggal (1 sampai dengan tanggal
>>> akhir bulan).
>>> Dalam file terlampir saya berikan contoh nilai atas nama siswa HASAN
>>> (nama hanya contoh saja).
>>>
>>> Pakai formula atau VBA tidak masalah. Pakai keduanya pun saya lebih
>>> senang.
>>>
>>> Atas perhatian dan bantuannya saya mengucapkan terima kasih.
>>>
>>>
>>> <Copy of ISI RANGE NILAI BERDASARKAN NAMA DAN TANGGAL.xlsm>
>>>
>>>
>

Kirim email ke