Coba array formula :
=Small( IF( CountIF( range_data, Row( Indirect( "1:" & Max( range_data ) )
) ), "" , Row( Indirect( "1:" & Max( range_data ) ) ) ) , *Row(1:1)* )

Lebih baik tetap ada yang berupa deret per cell seperti di atas, agar bisa
digunakan lebih leluasa.

Untuk menggabungkan kedalam satu cell, bisa buat UDF JoinText
public function JoinText(rngData as range, optional sDelimiter as
string=vbnullstring,optional bNotBlank as boolean = true) as string
    dim sRes as string
    dim vTmp as variant

    for each vtmp in rngdata
           if not iserror(vtmp) then
                 if lenb(vtmp)<>0 or not bnotblank then
                          sres=sres & sdelimiter & vtmp
                endif
           endif
    next vtmp
    jointext=sres
    if lenb(sdelimiter)<>0 then
            jointext=mid$(sres,2)
    endif
end function

Cara pakai di worksheet :
(join semua text di range datanya dengan delimiter titik koma dan yang
blank *gak *boleh ikut)
=jointext( range_datanya , ";" )

(join semua text di range datanya dengan delimiter titik koma dan yang
blank boleh ikut)
=jointext( range_datanya , ";" , false)

Jika ingin membuat fungsi yang bisa menerima array (misal hasil array
formula), sehingga langsung tanpa ada kolom bantu, maka ubah jadi :
public function JoinText(*vData as variant*, optional sDelimiter as
string=vbnullstring,optional bNotBlank as boolean = true) as string
    dim sRes as string
    dim vTmp as variant

*    if isarray(vdata) then
*       for each vtmp in *vdata*
           if not iserror(vtmp) then
                 if lenb(vtmp)<>0 or not bnotblank then
                          sres=sres & sdelimiter & vtmp
                endif
           endif
      next vtmp
*   else
        sres=vdata
   endif
*   jointext=sres
   if lenb(sdelimiter)<>0 then
            jointext=mid$(sres,2)
   endif
end function

Jadi bisa dipakai menjadi array formula di satu cell :
(join semua text hasil array formula dengan delimiter titik koma dan yang
blank *gak *boleh ikut)
=JoinText( Small( IF( CountIF( range_data, Row( Indirect( "1:" & Max(
range_data ) ) ) ), "" , Row( Indirect( "1:" & Max( range_data ) ) ) ) ,*
Row(1:99)* , ";" )

(join semua text hasil array formula dengan delimiter titik koma dan yang
blank boleh ikut)
=JoinText( Small( IF( CountIF( range_data, Row( Indirect( "1:" & Max(
range_data ) ) ) ), "" , Row( Indirect( "1:" & Max( range_data ) ) ) ) ,*
Row(1:99)* , ";" , false )


Dicoba dulu, sapa tahu ada errornya.

Kid.


2011/11/2 him mah <himmah....@gmail.com>

> **
>
>
> Assalamu'alaikum Wr. Wb.
>
> maaf sebelumnya belum nyari-nyari dulu di posting sebelumnya kebetulan
> koneksi internetnya lambat (karena yang pakai banyak)
>
> kita punya deretan angka yang tidak urut (seharusnya angka tersebut urut)
> misal di kolom A saya punya angka 1;2;5;6;9;10;11;12;15 (tanda titik
> koma sebagai pemisah baris). dari data tersebut ada beberapa angka
> yang hilang yaitu 3,4,7,8,13,14
>
> yang jadi pertanyaan adalah bagaimana memunculkan angka-angka yang
> hilang tersebut
>
> kalau datanya sedikit sih bisa manual yang repot kalau datanya banyak
>
> terima kasih
>  
>

Kirim email ke