Dear bu Guru STDEV(i), Memang tabel sudah sesuai keinginan sendiri..... Tapi ....... rumusnya itu lho ...... puuuuuuuanjang buuuuuuanget ...... Terima kasih atas solusi alternative nya. Jangan sering sering menggunakan ^_~ nanti mbak Titi Kamal marah ........ Regards Herry Sutjipto
From: STDEV(i) <[email protected]> To: [email protected] Sent: Saturday, April 30, 2011 7:12 AM Subject: Re: [belajar-excel] Mengubah text dengan delimeter koma (,) menjadi angka dalam empat kolom Yg menjadi masalah sebenarnya apanya ya ?? (he he ketinggalan pembicaraan nih..) Sekilas saya lihat tabel pak Herry sudah seperti yg diinginkan sendiri. Seandainya masalahnya hanya Text-Formula = kepanjangan, mungkin dapat diganti saja dengan UDF; sehingga nantinya sintaks rumusnya cukup seperti ini dijelaskan di bawah ini --1-- Kita anggap data yg ada di kholom pertama (sebagai input) Kita anggap data keluarannya adalah 5 data (dalam dua versi) Kita anggap 5 data itu ada indexnya ( 1 sampai 5) ( parameter Index) Kita anggap keluaran (output) yg diinginkan ada dua "Macem" / dua versi yaitu seperti yg ada di tabel kolom D:G dan tabel kolom I:L Untuk membedakan, keluaran yg mana y gdikehendaki, kita ciptakan parameter UNIT jika Unit = "MM" atau "mm"; maka outputnya adalah versi 1 (seperti tabel D:G ) jika Unit = "M" atau "m"; maka outputnya adalah versi 2 (seperti tabel I:L ) --2-- Rumusnya bentuk formal (sintaks) nya =KonversiX(DataYgDirujuk,Unit,Index) argument#1 = string, argument#2 = string, argument#3 bilangan asli rumus dalm bentuk nyata =KonversiX($B6,"mm",2) menghasilkan data kedua versi 1 (Unit "mm") =KonversiX($B6,"M",4) menghasilkan data keempat versi 2 (unit "M") Jika 5 nomor Index (1 a/d 5) sudah ditulis di cell berjajar sebaris, maka kita dapat merujuknya , agar pembentukan Tabel Utuh (5 kolom) hanya perlu 1(satu) Rumus Universal sbb =KonversiX($B6,"m",J$5) tinggal mengkopy ke cells kanan dan bawahnya komment siti sendiri UDF itu terlalu sembrono, karena menganggap ** setting symbol Pemisah Argument harus "," koma ** setting symbol Pemisah Desimal harus "." (TITIK) ** setting symbol Pemisah Pertengkaran harus ^_~ (TITIK KAMAL) ' ----- sekrip / vba code -------- Function KonversiX(S As String, Unit As String, Index As Integer) ' siti Vi ** 8 Apr 2011 ' milis belajar-excel; case ' http://tech.groups.yahoo.com/group/belajar-excel/message/9936 '--------------------------------------------------- Dim Dvsr As Integer, i As Integer, U As String Dim ArrDat, ArrHas() As Double S = Replace(Replace(S, ",", "\"), ".", "") ArrDat = Split(S, "\"): U = LCase(Unit) ReDim ArrHas(1 To UBound(ArrDat)) If U = "mm" Then Dvsr = 1 If U = "m" Then Dvsr = 1000 ' jika tetap mengunakan ArrDat, tidak dapat di-konversi menjadi Numbers ArrHas(1) = Val(ArrDat(0)) ArrHas(2) = Val(ArrDat(1)) / Dvsr ArrHas(3) = Val(ArrDat(2)) / Dvsr ArrHas(4) = Val(ArrDat(3)) / Dvsr KonversiX = ArrDat(Index - 1) If Index <= UBound(ArrDat) Then KonversiX = ArrHas(Index) End Function '------------ 2011/4/30 Herry Sutjipto <[email protected]> Dear Mr Kid, >Jumlah digit tidak selalu sama, terutama ketinggian titik (level), juga no >titik dan identifikasi titiknya tidak konsisten jumlah digitnya. > > >Regards >Herry Sutjipto > > > > >On 29 Apr 2011, at 20:32, "Mr. Kid" <[email protected]> wrote: > >Karena delimiternya adalah comma, maka pemisah desimal adalah titik atau >source-nya selalu dengan regional setting EN. >>Memisahkan setiap item dengan jarak yang cukup lebar dan konstan, akan >>memudahkan parse. >>Umumnya menggunakan fungsi Substitute. Yang disubstitute adalah delimiter, >>diganti dengan spasi yang panjaaaang buangeti.. >>contoh : >>SUBSTITUTE($B5,",",REPT(" ",99)) >>setelah dapat data : >>item1 >>item2 >>item3 itemx >>akan lebih mudah membayangkan mana yang akan diambil. >>Ujung kiri dengan left sepanjang 99 (karena substitute diganti spasi sebanyak >>99 char) >>ujung kanan pakai right sebanyak 99 char juga >>tengahnya pakai Mid dengan titik start adalah kelipatan 99 dengan 99 pertama >>adalah ujung kiri. >> >>Untuk regional setting ID, atau yang suka dengan pemisah desimal berupa tanda >>koma, maka perlu substitute sekali lagi, yaitu substitute hasil pengambilan >>item. Yang disubstitute adalah karakter titik diganti menjadi karakter koma. >>Substitute( Mid( substitute( $b5, "," , Rept( " " , 99 ) ) , 1*99 , 99 ) , >>"." , ",") >> >>Kalau tidak yakin dengan regional setting yang digunakannya, maka bagian yang >>di-bold diganti dengan : >>Text( 0 , "." ) >> >>Oh iya, penentuan 99 tergantung panjang data. Biasanya 99 masih bisa >>meng-handle sampai 105 karakter data (kira2 rerata loh, stdev-nya bisa lebar >>banget) >> >>Regards. >>Kid. >>

