wahhhh kereen, makasih master,
sekalian materi baru, belajar mengenai pivot table hehe
jazakallah khairan katsiran
On Friday, January 22, 2016 2:47 PM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
Oh ok...
File terlampir contoh hasil iseng tanpa VBA walau tidak sama persis dengan yang
diharapkan.
Tapi, semuanya masih disatukan dalam 1 sheet, dengan harapan akan menjadi lebih
mudah dijelajahi. Jadi, sebaiknya data dan hasil tetap dipisahkan di sheet yang
berbeda. File terlampir sekedar contoh loh ya.
Wassalam,
Kid
2016-01-22 14:22 GMT+07:00 Bayu Prasaja [email protected]
[belajar-excel] <[email protected]>:
iya betul master, definisi Data dan hasil seperti itu hehesaya misahin
bentuk Data dan bentuk hasil, karena biar sheet data tetap utuh seperti itu dan
tidak berubah struktur datam jadi saya pisahkan jadi sheets hasil hehe
On Friday, January 22, 2016 1:33 PM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
Data per blok kelompok dengan rows yang sama di seluruh kelompok.
Datanya jika didefinisikan begini, benar tidak ya ? (blok data sumber diberi
nama kelompok)
1. Rows per kelompok per waktu data bisa berbeda (data bulan ini, rowsnya bisa
beda dengan bulan lalu).
2. Setiap kelompok membentuk 1 blok range dengan ada baris kosong antar
kelompok.
3. Jumlah kolom di sheet data hanya 1 kolom saja, yaitu kolom nilai yang akan
dijumlahkan.
> Jumlah kolom di sheet data, terutama keberadaan kolom-kolom kunci, sangat
berpengaruh dalam penyusunan proses pengolahan data
jadi, andaikan memang ada kolom-kolom kunci, sebaiknya dijelaskan. Jika
diberi contoh datanya, andai ada lebih dari 1 kolom kunci, Anda bisa mewakilkan
menjadi 2 kolom kunci saja. Andai hanya ada 1 kolom kunci, maka sertakan 1
kolom kunci tersebut.
> Andai ada kolom kunci, maka kolom nilai (dalam hal ini kolom nilai yang
dijumlahkan) sebaiknya ditemani kolom kunci tersebut. Dampak sederhananya,
keberadaan kolom bisa mempengaruhi pemilihan fungsi yang dibutuhkan, seperti
memilih Sum atau SumIF. Sum bisa bergerak sangat luas, apalagi ketika disusun
sebagai array formula. SumIF juga bisa diperluas, tetapi selalu dalam batasan
tertentu.
Untuk outputnya, definisinya begini bukan ya ? (blok data output diberi nama
grup)
a. Output (misal suatu hasil penggabungan) diletakkan di sheet bernama 'Hasil'
membentuk grup per nomor baris.
b. Jadi, baris 1 setiap kelompok di sheet Data akan membentuk grup baris 1 di
sheet Hasil dengan jumlah rows per grup adalah sebanyak jumlah kelompok yang
ada di sheet Data.
c. Antar grup output dipisah oleh sebuah baris kosong
d. Setiap grup output akan diberi nama tertentu di 1 baris khusus (contohnya
adalah karakter 'A' disetiap grup hasil yang ada di file lampiran Anda), yaitu
baris ke-1 setiap grup dan setiap record kelompok di baris yang sama akan
membentuk record mulai baris ke-2 kelompok.
e. Jumlah baris Excel hasil = jumlah kelompok [di sheet data] * (jumlah rows
per kelompok + 1 baris nama grup output + 1 baris kosong diakhir setiap grup
sebagai jeda antar grup hasil)
Mungkin ada yang perlu dikoreksi dari definisi di atas ?
-----
Kok pakai ribet mendefinisikan bentuk data dan bentuk output sih ?
> Pola data akan lebih mudah tampak ketika definisi struktur data dapat
> dijabarkan (lengkap dengan segala kondisi yang mungkin terjadi)
> Pola data yang telah dapat diketahui, akan sangat menentukan pemilihan proses
> di setiap tahap pengolahan data yang diperlukan sampai dengan penyusunan alur
> proses seluruh tahap yang relatif lebih efisien dari seluruh potensi alur
> proses yang memungkinkan untuk digunakan.
> Alur proses yang dipilih dengan memasukkan pola data sebagai sebuah variabel
> penting proses pengolahan data akan memudahkan penyusunan struktur yang
> dinamis, mudah ditata kelola (dilacak kalau ada kesalahan komputasi,
> dipelihara formula maupun kinerjanya), termasuk kemudahan untuk menata
> struktur yang mudah dikembangkan untuk kebutuhan lain atau bila ada
> penambahan atau pengurangan elemen suatu output.
> Otomasi (dengan VBA atau tools apapun), akan sangat tergantung pada pola
> data. Tidak bisa diputuskan serta merta bahwa prosesnya menggunakan loop for
> next jika tidak diketahui pola datanya. Kecepatan, kecermatan, dan ketepatan
> proses otomasi yang dibuat akan dipengaruhi oleh pola data.
-----
hmmm...
kayanya postingan ini bukannya menghasilkan solusi tapi malah menambah masalah
ya...
so, kalau bersedia berbaik hati mencoba menjabarkannya, terimakasih, karena
penjabarannya akan memudahkan seluruh member untuk belajar sesuatu yang dasar
tentang pengolahan data (maksudnya sapa tahu ada member yang mau mencoba atau
malah sangat ingin untuk bisa memahami hal dasar yang tampak sepele dan tampak
talk more do less)
:)
moga-moga bersedia menambahkan penjabarannya ya...
tapi kalo ndak bersedia juga ndak apa kok... no worries...
Wassalam,
Kid
2016-01-22 11:21 GMT+07:00 Bayu Prasaja [email protected]
[belajar-excel] <[email protected]>:
sama master, yang beda sheets cuma "Data" ama "Hasil", sheets data terdiri
dari beberapa kelompok data, yang nanti hasilnya jg menjadi beberapa kelompok
hasil ..tiap kelompok dibatasi oleh jumlah row , tiap batas jumlah nya sama
baik di Data ataupun Hasil, yg beda cuma "jumlah" batas row di sheets Data dan
Hasil, sumber data nya di sheets "Data" nanti hasil penjumlahan tiap tahap
nilai numeriknya di sheets "Hasil"
begitu kurang lebih master hehe
On Friday, January 22, 2016 10:34 AM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
kelompok 1 dan kelompok 2 beda sheet ?
On Fri, Jan 22, 2016 at 10:25 AM, Bayu Prasaja [email protected]
[belajar-excel] <[email protected]> wrote:
saya kurang bisa menjelaskan master, tepatnya seperti di attachment yang
sekarangjadi saya mau ambil data di sheets "Data". Lalu dijadikan sebagai haisl
SUM komulatif per tiap tahap row dan hasilnya di sajikan di sheets "Hasil"
dengan range yang dinamis baik itu sheets data nya maupun hasilnya
On Thursday, January 21, 2016 4:20 PM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
hmmm...
Jadi tetap tidak bisa dijelaskan dinamisnya seperti apa ya....
Kalau dinamisnya itu karena ada baris yang kosong-kosong yang jumlah baris
kosong antar recordnya tidak tentu, kalau pakai formula :
A. Asumsi : (yang kolom A selalu berisi nilai bertipe numerik yang akan
dijumlah [regional setting english])
formula dikolom hasil (misal mulai baris 2 dengan header dibaris 1)
=IF(IsNumber(a2),Sum(a$1:a2),"")
copy ke semua baris data, atau ubah tabel data menjadi excel table supaya
tidak perlu repot meng-copy formula ke seluruh record
atau dengan :
=IF(IsNumber(a2),Iferror(LookUp(9^9,b$1:b1),0)+n(a2),"")
copy ke semua baris data, atau ubah tabel data menjadi excel table supaya
tidak perlu repot meng-copy formula ke seluruh record
B. Andai dinamis dimaksudkan dengan :
1. jumlah record berubah-ubah,
2. kolom A selalu ada isinya (not null),
3. kolom B yang bertipe numerik saja yang dijumlahkan,
4. hasil running totoal di kolom C
5. header di baris 1 dan record data mulai baris 2
Tanpa VBA :
1. buat headernya (misal di A1:C1 diberi nama header berupa nilai konstan
[bukan hasil formula])
2. isi sebuah record saja (records lainnya dicopas nanti)
* A2 sudah ada sebuah nilai (ingat, asumsinya kolom A not null)
* B2 juga diisi sebuah nilai numerik
* C2 pasanga formula :
=IF(IsNumber(b2),Sum(b$1:b2),"") -> kolom a not null, tetapi
kriteria yang dijumlah adalah yang b berisi nilai numerik
atau
=IF(IsNumber(b2),Iferror(LookUp(9^9,c$1:c1),0)+n(b2),"")
3. blok A1:C2 -> ribbon Home -> group Styles -> Format as Table -> pilih sebuah
styles
4. copas record data lainnya di cells A3 (baris kosong baru yang pertama
ditemukan) [ingat, asumsinya kolom a not null]
5. selesai
Jadi, kondisi dinamis itu sebenarnya bisa didefinisikan dan akan menentukan
proses mana yang lebih sesuai dan efisien.
Hal lainnya, kalau pakai VBA dengan asumsi seperti poin A.
Record dari baris 2 sampai 3000 (area range yang akan dipasangi formula bisa
ditentukan dengan VBA [bagian yang biru])
Range("b2:b3000").formula = "=IF(IsNumber(a2),Sum(a$1:a2),"""")"
'tanpa R1C1 styles juga bisa
Kondisi : cells hasil di G2:H3000 (2 kolom) dengan G adalah running total di
kolom A dan H running total di kolom H, VBA-nya :
Range("g2:h3000").formula = "=IF(IsNumber(a2),Sum(a$1:a2),"""")"
'tanpa R1C1 styles juga bisa
Kalau 1 formula universal bisa digunakan dan bunyi formula yang sederhana dan
simpel, kenapa harus pakai lebih dari 1 formula ?
Regards,
Kid
On Thu, Jan 21, 2016 at 10:21 AM, Bayu Prasaja [email protected]
[belajar-excel] <[email protected]> wrote:
ternyata pake formula master jadinya seperti di attachment (dari Mr toby
) hahaha, terlalu jauh mungkin saya mikirnya ya kangtapi saya rubah formulanya
ke R1c1 di vba nya
makasih banyak master
On Wednesday, January 20, 2016 4:27 PM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
Dinamisnya seperti apa ?
On Wed, Jan 20, 2016 at 4:23 PM, Bayu Prasaja [email protected]
[belajar-excel] <[email protected]> wrote:
iya master, soalnya cell "hasil"-nya dynamic ,terus klo formula pasti
saya rubah lagi ke format .formula atau .R1c1 di vbajadi klo boleh langsung vba
master, atau pake formula tapi dalam bentuk vba di cell.formula atau
cell.formulaR1C1 hehehemaaf klo penjelasannya ngacokurang lebih gitu yang baru
saya pahami hehe
On Wednesday, January 20, 2016 4:18 PM, "'Mr. Kid' [email protected]
[belajar-excel]" <[email protected]> wrote:
Wa'alaikumussalam wr wb
Harus dengan VBA ya ?
Wassalamu'alaikum wr wb
Kid
2016-01-20 16:12 GMT+07:00 [email protected] [belajar-excel]
<[email protected]>:
Asslamu'alaikum
sore master,
mau nanya VBA untuk penjumlahan komulatif, yang menggunakan dynamic range, dan
tiap hasil penjumlahan ditampilkan..
kalo pake autofill dsetination mungkin bisa, tapi bukan itu si yang saya
pengen, soalnya harus berderet kalo autofill, kalo boleh pake "for" "next"
hehehe
maaf jika pertanyaan atau pernyataan saya banyak yang salah, soalnya baru
belajar , jadi agak bingung nanya nya juga hehe,
Terima kasih sebelumnya
File contoh terlampir
Wassalamu'alaikum warahmatullohi wabarokatuh
#yiv1558002668 #yiv1558002668 -- #yiv1558002668ygrp-mkp {border:1px solid
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1558002668
#yiv1558002668ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1558002668
#yiv1558002668ygrp-mkp #yiv1558002668hd
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}#yiv1558002668 #yiv1558002668ygrp-mkp #yiv1558002668ads
{margin-bottom:10px;}#yiv1558002668 #yiv1558002668ygrp-mkp .yiv1558002668ad
{padding:0 0;}#yiv1558002668 #yiv1558002668ygrp-mkp .yiv1558002668ad p
{margin:0;}#yiv1558002668 #yiv1558002668ygrp-mkp .yiv1558002668ad a
{color:#0000ff;text-decoration:none;}#yiv1558002668 #yiv1558002668ygrp-sponsor
#yiv1558002668ygrp-lc {font-family:Arial;}#yiv1558002668
#yiv1558002668ygrp-sponsor #yiv1558002668ygrp-lc #yiv1558002668hd {margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1558002668
#yiv1558002668ygrp-sponsor #yiv1558002668ygrp-lc .yiv1558002668ad
{margin-bottom:10px;padding:0 0;}#yiv1558002668 #yiv1558002668actions
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1558002668
#yiv1558002668activity
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1558002668
#yiv1558002668activity span {font-weight:700;}#yiv1558002668
#yiv1558002668activity span:first-child
{text-transform:uppercase;}#yiv1558002668 #yiv1558002668activity span a
{color:#5085b6;text-decoration:none;}#yiv1558002668 #yiv1558002668activity span
span {color:#ff7900;}#yiv1558002668 #yiv1558002668activity span
.yiv1558002668underline {text-decoration:underline;}#yiv1558002668
.yiv1558002668attach
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}#yiv1558002668 .yiv1558002668attach div a
{text-decoration:none;}#yiv1558002668 .yiv1558002668attach img
{border:none;padding-right:5px;}#yiv1558002668 .yiv1558002668attach label
{display:block;margin-bottom:5px;}#yiv1558002668 .yiv1558002668attach label a
{text-decoration:none;}#yiv1558002668 blockquote {margin:0 0 0
4px;}#yiv1558002668 .yiv1558002668bold
{font-family:Arial;font-size:13px;font-weight:700;}#yiv1558002668
.yiv1558002668bold a {text-decoration:none;}#yiv1558002668 dd.yiv1558002668last
p a {font-family:Verdana;font-weight:700;}#yiv1558002668 dd.yiv1558002668last p
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv1558002668
dd.yiv1558002668last p span.yiv1558002668yshortcuts
{margin-right:0;}#yiv1558002668 div.yiv1558002668attach-table div div a
{text-decoration:none;}#yiv1558002668 div.yiv1558002668attach-table
{width:400px;}#yiv1558002668 div.yiv1558002668file-title a, #yiv1558002668
div.yiv1558002668file-title a:active, #yiv1558002668
div.yiv1558002668file-title a:hover, #yiv1558002668 div.yiv1558002668file-title
a:visited {text-decoration:none;}#yiv1558002668 div.yiv1558002668photo-title a,
#yiv1558002668 div.yiv1558002668photo-title a:active, #yiv1558002668
div.yiv1558002668photo-title a:hover, #yiv1558002668
div.yiv1558002668photo-title a:visited {text-decoration:none;}#yiv1558002668
div#yiv1558002668ygrp-mlmsg #yiv1558002668ygrp-msg p a
span.yiv1558002668yshortcuts
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv1558002668
.yiv1558002668green {color:#628c2a;}#yiv1558002668 .yiv1558002668MsoNormal
{margin:0 0 0 0;}#yiv1558002668 o {font-size:0;}#yiv1558002668
#yiv1558002668photos div {float:left;width:72px;}#yiv1558002668
#yiv1558002668photos div div {border:1px solid
#666666;height:62px;overflow:hidden;width:62px;}#yiv1558002668
#yiv1558002668photos div label
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv1558002668
#yiv1558002668reco-category {font-size:77%;}#yiv1558002668
#yiv1558002668reco-desc {font-size:77%;}#yiv1558002668 .yiv1558002668replbq
{margin:4px;}#yiv1558002668 #yiv1558002668ygrp-actbar div a:first-child
{margin-right:2px;padding-right:5px;}#yiv1558002668 #yiv1558002668ygrp-mlmsg
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv1558002668
#yiv1558002668ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv1558002668
#yiv1558002668ygrp-mlmsg select, #yiv1558002668 input, #yiv1558002668 textarea
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv1558002668
#yiv1558002668ygrp-mlmsg pre, #yiv1558002668 code {font:115%
monospace;}#yiv1558002668 #yiv1558002668ygrp-mlmsg *
{line-height:1.22em;}#yiv1558002668 #yiv1558002668ygrp-mlmsg #yiv1558002668logo
{padding-bottom:10px;}#yiv1558002668 #yiv1558002668ygrp-msg p a
{font-family:Verdana;}#yiv1558002668 #yiv1558002668ygrp-msg
p#yiv1558002668attach-count span {color:#1E66AE;font-weight:700;}#yiv1558002668
#yiv1558002668ygrp-reco #yiv1558002668reco-head
{color:#ff7900;font-weight:700;}#yiv1558002668 #yiv1558002668ygrp-reco
{margin-bottom:20px;padding:0px;}#yiv1558002668 #yiv1558002668ygrp-sponsor
#yiv1558002668ov li a {font-size:130%;text-decoration:none;}#yiv1558002668
#yiv1558002668ygrp-sponsor #yiv1558002668ov li
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv1558002668
#yiv1558002668ygrp-sponsor #yiv1558002668ov ul {margin:0;padding:0 0 0
8px;}#yiv1558002668 #yiv1558002668ygrp-text
{font-family:Georgia;}#yiv1558002668 #yiv1558002668ygrp-text p {margin:0 0 1em
0;}#yiv1558002668 #yiv1558002668ygrp-text tt {font-size:120%;}#yiv1558002668
#yiv1558002668ygrp-vital ul li:last-child {border-right:none
!important;}#yiv1558002668