Assalamu'alaikum Wr. Wb.

Alhamdulillah ada yang menjabarkannya...
Makasih mas Agus...

Untuk formulanya, seharusnya dari 1:60 seperti pada file terbaru yang
dilampirkan tempo email. Berubah menjadi 2:63 karena ada proses insert row
mulai baris pertama Excel dan sebaris di tengah baris [setelah baris 1
Excel] (lupa baris berapa)

Untuk penggunaan IF daripada Rept, silakan disesuaikan dengan kenyamanan
masing-masing.

Pada file lampiran terakhir tempo email, formula sedikit berubah karena
permintaan penanya ternyata harus exact match dengan kriteria alias tidak
seperti contoh hasil kerja manual yang dikerjakan penanya.

Jadi, melalui file pertama (kriterianya blok yang diawali oleh) yang
dijabarkan mas Agus dan file kedua (kriterianya Exact Match) bisa
didapatkan contoh pengolahan data teks yang bervariatif.

Untuk mengganti formula (Len+1-Len(Substitute))/(len+1) dengan Sumproduct,
silakan disesuaikan dengan kenyamanan dan pemahaman masing-masing.
Penggunaan formula len bla tersebut dimaksudkan untuk :
1. membantu menyegarkan BeExceller bahwa ada cara hitung jumlah karakter
tertentu yang kuatirnya terlupakan jika tidak sering muncul di milis.
2. membiasakan BeExceller agar rujukan formula dirujuk ke data asli (bukan
hasil formula), sehingga pada komputer yang prosesornya sudah ber-core
banyak sedangkan data yang diproses nanti banyak, maka formula bisa
dikerjakan bersama alias tidak menunggu selesainya kalkulasi dari cell lain
yang berformula yang dirujuknya. Karena pada kasus ini, cell berformula
yang di-rujuk dengan SumProduct adalah cells ber array formula yang bisa
jadi akan relatif lebih lambat dikalkulasi oleh excel.

Andaikan akan tetap memilih merujuk pada cells berformula (meski array
formula) seperti terhadap range c14:e14, maka bisa juga menggunakan formula
berbunyi :
=Count*IF*( c14:e14 *, *"*?**" )    -> kalo regional setting Indonesian,
ganti koma menjadi titik koma ya..
yang bahasa manusianya :
"Cel, tulung hitungken ada berapa cell-kah dalam range c14:e14 tersebut *yang
**diawali oleh sebuah karakter dan diikuti karakter sebarang*."

;)

Sekali lagi, makasih buat mas Agus yang telah menjabarkan bunyi formula
yang ada di file pertama tersebut. Malah sekaligus memperbaiki bagian
formula yang mengalami pergeseran rujukan plus memberi bonus
formula-formula pengganti yang bisa menjadi pengaya bagi BeExceller...

Moga-moga ilmunya mas Agus semakin berkembang ya...
Moga-moga BeExceller seluruhnya mendapatkan pemahaman ilmu-ilmu baru dengan
adanya penjabaran dari mas Agus ini...
Moga-moga juga, akan semakin banyak BeExceller yang bersedia membagi
ilmunya, walau sekedar menulis penjabaran tentang isi suatu formula dari
reply BeExceller lain...

Maju terus Belajar-Excel n tetap semangat belajar...

Wassalamu'alaikum Wr. Wb.
Kid.



2014-04-26 6:46 GMT+07:00 nangAgus <[email protected]>:

>
>
> Mr. Kid,
> Ikut belajar yaa.  Jika salah mohon untuk diingatkan.
>
> Kita lihat Jurus Mr Kid dengan formula: {=IFERROR(REPT($E$11;SMALL(IF("
> "&$E$11=MID("
> "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63));COLUMNS($C$13:C$13))>0);"")}
> Rumus tersebut merupakan rumus array yang akan menghasilkan data array.
> ingat untuk membuat formula array menggunakan tombol CSE.
>
> kita mulai dari rumus terdalam MID(" "&$B14;ROW($1:$63);LEN($E$11)+1)
> Formula ini memerintah excel untuk membuat data array dari data " "&$B14
> yang isinya 01 001 0001 dengan ketentuan dimulai dari 1 sampai 63
> (ROW($1:$63) (mohon maaf Mr. Kid ROW($2:$63) saya ubah menjadi
> ROW($1:$63), karena apabila menggunakan $2:$63 di komputer saya hasil
> tabelnya tidak sesuai harapan),   sebanyak 3 karakter dengan perintah
> LEN($E$11)+1 karena pada E11 berisi "01" (2 karakter + 1).
>
> 01 001 0001 hanya terdiri dari 11 karakter sehingga rumus MID tersebut
> hanya menghasilkan 12 data seperti di bawah ini:
>
>    01  01   1 0   00  001  01   1 0   00  000  001  01  1  Kemudian
> menggunakan IF untuk menentukan apakah data tersebut sama dengan data yang
> diminta. dengan formula:
> IF(" "&$E$11=MID(" "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63))
> Jika data array tersebut sama dengan data yang diminta (" "&$E$11=) maka
> tuliskan nomor sesuai barisnya ROW($1:$63).
> rumus tersebut menghasilkan data array sebagai berikut:
>     01 1  01  FALSE  1 0 FALSE   00 FALSE  001 FALSE  01  FALSE  1 0 FALSE
>  00 FALSE  000 FALSE  001 FALSE  01 FALSE  1 FALSE  Perhatikan bahwa
> hanya terdapat satu data yang sesuai (nilainya 1).
>
> Kita lanjutkan dengan formula selanjutnya yaitu formula SMALL:
> SMALL(IF(" "&$E$11=MID(" "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63))
> ;COLUMNS($C$13:C$13))
> Dicari nilai terkecil dari hasil yang diperoleh dengan rumus If tadi.
> yaitu yang terkecil ke: 1 (COLUMNS($C$13:C$13))
> JIka formula ini dicopy ke kanan maka (COLUMNS($C$13:C$13) akan berubah
> menjadi (COLUMNS($C$13:D$13) yang berarti terkecil kedua. dan seterusnya.
> Karena hasil fungsi IF hanya mendapatkan 1 angka maka hanya terdapat 1
> yang terkecil yaitu 1.
> Jadi hasil formula small adalah 1 (Hasil formula small dapat menghasilkan
> nilai berapapun sesuai dengan baris yang nilainya sama dengan kriteria)
>
> Formula selanjutnya adalah REPT.
> REPT($E$11;SMALL(IF(" "&$E$11=MID("
> "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63));COLUMNS($C$13:C$13))>0)
> Formula REPT ini adalah memerintah excel untuk mengulangi $E$11 yang
> berisi 01 sebanyak hasil rumus SMALL.
> karena hasil rumus small dapat lebih dari satu maka ditambahkan >0 agar
> selalu hasilnya 1, dengan maksud agar hasilnya hanya dituliskan sekali saja.
> Jika mau formula REPT dapat diganti dengan formula IF:
> IF(SMALL(IF(" "&$E$11=MID("
> "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63));COLUMNS($C$13:C$13))
> >0;$E$11)
> (mohon maaf Mr. Kid saya mengusulkan untuk menggunakan formula IF, menurut
> saya lebih mudah dimengerti daripada rept. itu lho yang menggunakan >0 he
> he he)
>
> Terakhir sembunyikan apabila terjadi error dengan formula IFERROR
> =IFERROR(REPT($E$11;SMALL(IF(" "&$E$11=MID("
> "&$B14;ROW($1:$63);LEN($E$11)+1);ROW($1:$63));COLUMNS($C$13:C$13))>0);"")
>
> Untuk kolom jumlah agak susah juga menjelaskan.
> =(LEN(B14)+1-LEN(SUBSTITUTE(" "&B14;" "&$E$11;"")))/(LEN($E$11)+1)
> Kita mulai dari perintah SUBSTITUTE(" "&B14;" "&$E$11;"")
> Pada formula ini komputer diminta untuk mengganti " "&$E$11 yang berisi
> 01 pada sel B14 dalam hal ini berisi 01 001 0001 dengan spasi kosong. atau
> dapat disederhanakan dengan perintah menghapus semua " 01" pada 01 001
> 0001. hasil dari formula ini adalah 001 0001
>
> Formula selanjutnya LEN(SUBSTITUTE(" "&B14;" "&$E$11;""))
> Hallo excel, tolong dihitung berapa panjangnya 001 0001, apakah ada 5
> meter?
> si excel pun menjawab "eem... hanya ada 9 karakter" Lho.... kok 9? padahal
> saya hitung hanya ada 8.
> Ternyata Mr. Kid menambahkan " " didepan B14 sehingga 8+1 = 9
>
> Kemudian tolong dihitung berpaha hasil dari panjangnya B14 + 1 dikurangi
> hasil rumus substitute.
> (LEN(B14)+1-LEN(SUBSTITUTE(" "&B14;" "&$E$11;"")))
> 11 + 1 - 9 =  3
>
> Maksud dari rumus ini adalah menghitung banyaknya karakter yang sesuai
> dengan kriteria pada B14, kemudian dibagi dengan banyaknya kriteria pada E11
>
> Terakhir kali rumus pembagian
> =(LEN(B14)+1-LEN(SUBSTITUTE(" "&B14;" "&$E$11;"")))/(LEN($E$11)+1)
>
> Bagaimana jika formula pada jumlah diubah menjadi:
> =SUMPRODUCT((LEN(C14:E14)>1)*1)
> (maksudnya hitunglah pada c14 sampai e14 jika karakternya lebih dari 1)
> (mohon maaf Mr. Kid saya mengusulkan untuk menggunakan formula Sumproduct,
> menurut saya lebih mudah dimengerti he he he....)
>
> Mohon maaf jika penjelasannya tidak menjadi lebih jelas.
> Mohon kiranya untuk diperbaiki
>
> Wassalam, warahmatullah
> NangAgus
>
>
> On 25/04/2014 9:37, Mr. Kid wrote:
>
>
>   Filenya dulu saja ya... tapi gak pake VBA... (maaf ya... sering gatelan
> kalo kena script... jadi nyentuh scriptnya kalo kepepet sajah...)
>
>  Moga-moga ada yang bersedia membuatkan dongengnya...
>
>  Wassalam,
> Kid.
>
>
> 2014-04-25 3:46 GMT+07:00 <[email protected]>:
>
>>
>>
>> Kepada penghuni group minta tolong pemecahan pemecahan masalah ini.
>> karena saya masih belajar dalam hal macro dan vba
>>
>> Saya mempunyai data di kolom A berupa angka ratusan cell. bagaimana
>> memecah / split sesuai kriteria (cukup 3 kriteria) hasilnya. kendala utama
>> memecah angka 0 di depan, seperti kriteria 01 (warna orange), angka 001 dan
>> 0001 angka ikut masuk kreteria juga (warna kuning). kalau bisa dengan macro
>> atau kode vba krn otomatis memecah semua data sampai akhir dgn otomatis.
>> dan kalau bisa juga hasil split otomatis dijumlah sesuai hasil split tiap
>> cell nya (warna hijau).. sebelumnya terima kasih banyak.....
>>
>> Gambar terlampir :
>>
>
>
>  
>

Kirim email ke