Hai Ragustina : Secara umum bunyinya : (ada karakter spesial sebelum ASCII 32) OR (ada karakter spesial setelah ASCII 126) 1 + 1 akan menghasilkan 2 0 + 1 akan menghasilkan 1 1 + 0 akan menghasilkan 1 0 + 0 akan menghasilkan 0 Jadi, kalau kolom B difilter > 0, berarti memenuh kriteria (ada karakter spesial sebelum ASCII 32) OR (ada karakter spesial setelah ASCII 126)
ada atau tidaknya karakter spesial tertentu dicek setiap hurufnya. Disinilah pemakaian fungsi MID. MID( teks , mulai_karakter_ke , banyaknya_karakter_yang_diambil ) MID( A2 , ROW(A$1:INDEX(A:A,LEN(A2))) , 1 ) Karena harus cek setiap huruf, berarti si-MID harus menghasilkan karakter setiap huruf. Artinya, bagian mulai_karakter_ke berisi deret angka 1,2,3, dst sampai panjangnya teks (A2). Untuk membuat deret 1,2,3,dst bisa dibantu oleh fungsi ROW ROW(A$1:INDEX(A:A,LEN(A2))) -> menghasilkan 1,2,3,4,dst, sampai jumlah karakter teks (A2) Kalau Row(A1) = 1, berarti Row( A1:A5 ) akan dapat 1,2,3,4,5 berarti butuh Row( A1:A[jumlah karakter teks (A2)] ) Yang bisa mendapatkan A[jumlah karakter teks (A2)] itu adalah si INDEX yang berbunyi INDEX(A:A,LEN(A2)) INDEX(A:A,LEN(A2)) bahasa manusianya : ambil dari [Index] seluruh cells dikolom A [A:A] pada item yang nomornya sama dengan jumlah karakter di cells A2 [Len(A2)] Kalau A2 bunyinya Kid (3 karakter), Index( A:A , Len(A2 ) = Index( A:A , Len("Kid") ) = Index( A:A , 3 ) = cells A3 [cells dalam 1 kolom kan mulai baris 1] Berarti ROW(A$1:INDEX(A:A,LEN(A2))) = ROW( A1:A3 ) = {1,2,3} [larik data alias array berisi 3 item bernilai numerik 1,2,3] MID( A2 , ROW(A$1:INDEX(A:A,LEN(A2))) , 1 ) = MID( A2 , {1,2,3} , 1 ) = {"K","i","d"} Special karakter bisa diketahui berdasar kode ASCII nya, yaitu yang <32 atau >126 huruf di keyboard selain CTRL, SHIFT, ALT, ENTER, TAB itu punya kode : -> mulai dari 32 (spasi [dikeyboard yang tombolnya panjang itu]) -> sampai 126 (tilde '~' [biasanya tombol di atas TAB yang harus pakai SHIFT] berarti selain itu ( alias kode ASCII < 32 atau kode ASCII > 126 ) adalah karakter spesial. Nah... untuk dapat kode ASCII sebuah karakter, bisa dibantu fungsi CODE CODE(MID(A2,ROW(A$1:INDEX(A:A,LEN(A2))),1)) = CODE( { "K" , "i" , "d" } ) = { 75 , 105 , 100 } [huruf kapital punya kode ASCII < huruf kecil] hasil { 75 , 105 , 100 } ditabelkan : (ada karakter spesial sebelum ASCII 32) OR (ada karakter spesial setelah ASCII 126) (CODE(MID(A2,ROW(A$1:INDEX(A:A,LEN(A2))),1))<32) + (CODE(MID(A2,ROW(A$1:INDEX(A:A,LEN(A2))),1))>126) ( 75 < 32 ) + ( 75 > 126 ) = FALSE + FALSE = 0 + 0 = 0 ( 105 < 32 ) + ( 105 > 126 ) = FALSE + FALSE = 0 + 0 = 0 ( 100 < 32 ) + ( 100 > 126 ) = FALSE + FALSE = 0 + 0 = 0 didapat (CODE(MID(A2,ROW(A$1:INDEX(A:A,LEN(A2))),1))<32) + (CODE(MID(A2,ROW(A$1:INDEX(A:A,LEN(A2))),1))>126) = { 0 , 0 , 0 } Lalu hasil pemeriksaan setiap karakter tadi di-SUM oleh si SUMPRODUCT [yang mampu mengerjakan komputasi array] SUMPRODUCT( { 0 , 0 , 0 } ) = 0 -> keluarlah hasil di B2 bernilai 0 Kalau A2 berbunyi "«ïÐ", SUMPRODUCT( { 1 , 1 , 1 } ) = 3 karena ada 3 karakter spesial di A2. Jadi, kolom B sebenarnya adalah jumlah karakter spesial yang ada disuatu teks. Akan mencari (filter) data teks yang TIDAK ada karakter spesialnya, berarti kolom B=0 Akan mencari (filter) data teks yang ada karakter specialnya, berari kolom B>0 Regards, Kid 2017-08-13 1:10 GMT+07:00 ragustin...@yahoo.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > ehm,,, ka Mr,Kid, boleh di kasih penjelasnnya ga dari formula tersebut, > maklum saya awam banget soal formula Excel, terima kasih > >