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 

  

Kirim email ke