maaf salah kirim.



>________________________________
>From: Amar luqman Hakim <amarluqmanha...@yahoo.com>
>To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
>Sent: Sunday, October 30, 2011 9:03 PM
>Subject: Bls: [belajar-excel] Menyisipkan data di kolom sebelah
>
>
>  
>yo
>
>--- Mods ---
>Maksudnya apa ya ?
>Moga-moga ada penjelasan yang lebih baik.
>------------
>
>________________________________
>Dari: jkssxls Sudarsono <jkss...@hotmail.com>
>Kepada: Belajar-Excel Yahoo Groups <belajar-excel@yahoogroups.com>
>Dikirim: Sabtu, 29 Oktober 2011 14:52
>Judul: RE: [belajar-excel] Menyisipkan data di kolom sebelah
>
>  
> 
>
>Pelajaran berlanjut ( seperti sekolah saja ya... ) :
>ada data misal di range c7:c11 :
>
>a 
>b 
>c 
>d 
>e 
>bila kita gunakan rumus : {=INDEX(C7:C11, ROW(2:3) )}  hasilnya di range F7:F9 
>:
>
>b 
>c 
>#N/A 
>bila kita gunakan rumus :  { =INDEX(C7:C11, COLUMN(2:3) )  }   hasilnya di 
>I7:K7 :
>
>a b c 
>Jadi penggunaan Row sbg index dapat dihandalkan dibandingkan Column
>fungsi dibawah ini adalah mengambil data sesuai posisi indeks yg diinginkan :
>option base 1
>Function AmbilArray(arraysumber, posambil)
>   Dim jumambil As Variant
>   jumdata = UBound(arraysumber)
>   jumambil = UBound(posambil)
>   Dim arrayhasil  As Variant
>' yg diinginkan kadang tak memenuhi syarat alias isi array kosong
>   ReDim arrayhasil(jumambil)
>   xarraysumber = WorksheetFunction.Transpose(arraysumber)
>'ambil data yg diinginkan
>   ygsesuai = 0
>   For i = 1 To jumdata
>' jika isi array kosong
>     perror = IsError(xarraysumber(i))
>     For j = 1 To jumambil
>' sesuai dgn yg diinginkan dan tak kosong
>       If (i = posambil(j)) And Not perror Then
>         ygsesuai = ygsesuai + 1
>         arrayhasil(ygsesuai) = xarraysumber(i)
>       End If
>     Next j
>   Next i
>'hasil sesuai data yg ada
>   Dim hasilnya As Variant
>   ReDim hasilnya(ygsesuai)
>   For i = 1 To ygsesuai
>      hasilnya(i) = arrayhasil(i)
>   Next i
>   AmbilArray = WorksheetFunction.Transpose(hasilnya)
>End Function
>
>rumus di range N7:N11  :   {=IF( C7:C11>"b" ,  C7:C11  )}  hasilnya :
>
>FALSE 
>FALSE 
>c 
>d 
>e 
>rumus di range Q7    :   { =AmbilArray( IF(C7:C11>"c",C7:C11,null) , {3,5} ) } 
>   hasil :
>
>e 
> 
>rumus di range  T7:T8  :  {=AmbilArray(    IF(C7:C11>"c",C7:C11,null)  ,  
>{3,5}  )  }  hasil :
>
>  e 
>  e 
> 
>Rumus di range W7:W8  :   {=AmbilArray( IF(C7:C11>="c",C7:C11,null) , {3,5} )  
>}  hasil :
>
>c 
>  e 
> 
>Rumus di range Z7:Z9  :   {=AmbilArray( IF(C7:C11>="c",C7:C11,null) , {3,5} )  
>}  hasil :
>
>  c 
>  e 
>  #N/A 
> 
>Dari contoh2 di atas, dapat di ambil kesimpulan :
>1. Penggunaan Row dapat dihandalkan 
>2. jika array mempunyai jumlah item 1 ( satu ) , maka rumus array jika dibuat 
>pada range yg melebihi , tidak akan menghasilkan #N/A
> 
> 
>sekarang saya akan gunakan collection 
> 
>option base 1
>Function AmbilArray_Col(arraysumber, posambil)
>    Dim jumambil As Variant
>    jumdata = UBound(arraysumber)
>    jumambil = UBound(posambil)
>    Dim koleksi As New Collection
>' yg diinginkan kadang tak memenuhi syarat alias isi array kosong
>        xarraysumber = WorksheetFunction.Transpose(arraysumber)
>'ambil data yg diinginkan
>    ygsesuai = 0
>   For i = 1 To jumdata
>' jika isi array kosong
>      perror = IsError(xarraysumber(i))
>      For j = 1 To jumambil
>' sesuai dgn yg diinginkan dan tak kosong
>        If (i = posambil(j)) And Not perror Then
>          koleksi.Add Item:=xarraysumber(i)
>        End If
>      Next j
>    Next i
>'hasil sesuai data yg ada
>    Dim hasilnya As Variant
>    ReDim hasilnya( koleksi.Count )
>    For i = 1 To koleksi.Count
>       hasilnya(i) = koleksi.Item(i)
>    Next i
>    AmbilArray_Col = WorksheetFunction.Transpose(hasilnya)
>End Function
>
> 
>Penggunaan mirip dgn fungsi AmbilArray , seperti  {=AmbilArray_col( IF(  
>C7:C11>="c"  , C7:C11  ,null), {3,5} ) }
>Jadi kesimpulannya lebih baik gunakan Coolection jika jumlah item tak dapat 
>dipastikan.
> 
>Selamat Belajar membuat Fungsi Array Formula sendiri.
> 
>
>________________________________
>To: belajar-excel@yahoogroups.com
>From: jkss...@hotmail.com
>Date: Thu, 27 Oct 2011 03:48:49 +0000
>Subject: RE: [belajar-excel] Menyisipkan data di kolom sebelah
>
> 
>
>Tambahan penggunaan row dan column . 
> 
>
>1 
>2 
>3 
>4 
>5  
>{=INDEX(D7:D11,   ROW(2:3)   )} akan menghasilkan keluaran  :
> 
>
>2 
>3 
>#N/A 
>{=INDEX(D7:D11,  COLUMN(2:3)  )} akan menghasilkan keluaran :
> 
>
>1 2 3 
> 
>walaupun kita hanya ingin memilih indeks ke 2 dan 3 , penggunaan Column tidak 
>mendukung hal itu .
>________________________________
>To: belajar-excel@yahoogroups.com
>From: jkss...@hotmail.com
>Date: Wed, 26 Oct 2011 09:43:23 +0000
>Subject: RE: [belajar-excel] Menyisipkan data di kolom sebelah
>
>  
>* ada pola baru dgn transpose nih
>
>sekarang kita bermain dengan posisi data pada baris :
>
>1 
>2 
>3 
>4 
>5 
>6 
>7 
>8 
>9 
>10 
> 
>dan mengubah menjadi :
>
>1 4 7 10 
>2 5 8 #REF! 
>3 6 9 #REF! 
>kita dapat menggunakan : {=INDEX(B3:B12,ROW(1:3)+  {0,3,6,9}  )}
>tapi saya gunakan :
> 
>{=INDEX(B3:B12,ROW(1:3)+  3*(COLUMN(1:4)-1)  )}
> 
>untuk mengubah menjadi :
>1 2 3 
>4 5 6 
>7 8 9 
>10 #REF! #REF! 
>
>kita dapat menggunakan  : {=INDEX(B3:B12,   COLUMN(1:3)+ TRANSPOSE({0,3,6,9})  
>)}
>tapi saya gunakan :
>{=INDEX(B3:B12,  COLUMN(1:3) +  3*(ROW(1:4)-1)       )}
>
>________________________________
>To: belajar-excel@yahoogroups.com
>From: jkss...@hotmail.com
>Date: Tue, 25 Oct 2011 13:35:18 +0000
>Subject: RE: [belajar-excel] Menyisipkan data di kolom sebelah
>
>  
>pola 1,2,1,2 atau 1,2,3,1,2,3 atau 1,2,3,4,1,2,3,4
>dapat diakali dengan cara ?
>{=MOD(ROW(1:20)-1,2)+1}  --> 1,2,1,2              ...
>{=MOD(ROW(1:20)-1,3)+1}  --> 1,2,3,1,2,3         ...
>{=MOD(ROW(1:20)-1,4)+1}  --> 1,2,3,4,1,2,3,4    ...
> 
>pola 1,1,2,2,..   atau 1,1,1,2,2,2, .. 
>{=CEILING(ROW(1:20)/2,1)}   ---> 1,1,2,2        ...
>{=CEILING(ROW(1:20)/3,1)}    ---> 1,1,1,2,2,2   ...
>
>misal :
>1 2 3 
>4 5 6 
>7 8 9 
>10 11 12 
>13 14 15 
>16 17 18 
>19 20   
>menjadi :
>1 
>2 
>3 
>4 
>5 
>6 
>7 
>8 
>9 
>10 
>11 
>12 
>13 
>14 
>15 
>16 
>17 
>18 
>19 
>20 
> gunakan :
>{=INDEX(B16:D22,   CEILING(ROW(1:20)/3,1)   ,   MOD(ROW(1:20)-1,3)+1   ) }
>silakan berkreasi dgn pola-pola bilangan lainnya.....
>
> 
>
>________________________________
>To: belajar-excel@yahoogroups.com
>From: jkss...@hotmail.com
>Date: Tue, 25 Oct 2011 13:25:25 +0000
>Subject: RE: [belajar-excel] Menyisipkan data di kolom sebelah
>
>  
>gunakan array formula :
>{=INDEX(B3:C12,   CEILING(ROW(1:20)/2,1)  ,   IF(ISEVEN(ROW(1:20)),2,1)    )}
> 
>rumus ini berpola  {{1,1},{1,2},{2,1},{2,2},{3,1},{3,2}  ... {10,1},{10,2}}
> 
>CEILING(ROW(1:20)/2,1) dapat diganti oleh ROUNDUP(ROW(1:20)/2,1)
>IF(ISEVEN(ROW(1:20)),2,1) dapat diganti IF(ISODD(ROW(1:20)),1,2)    ' ini masa 
>saja
>
> 
>
>________________________________
>To: belajar-excel@yahoogroups.com
>From: sc0rpi0_b0...@yahoo.com
>Date: Tue, 25 Oct 2011 16:58:45 +0800
>Subject: [belajar-excel] Menyisipkan data di kolom sebelah
>
>  
>Kepada para suhu X-cel 
>
>Mohon pencerahan untuk kasus newbie yang pertama, kalo bisa jangan pake macro 
>
>Thanks
>
>
> 
>
>

Kirim email ke