Tecnologia, programação e muito Visual FoxPro.

segunda-feira, 1 de junho de 2009

]] XL-mania [[ Sekali lagi, tentang Penggabungan Data



CONCATENATE

Fungsi CONCATENATE() milik Excel itu ibarat sebuah lengan yg lumpuh di atara lengan-lengan lain yg efisien dan perkasa.
Ini kalau kita membayangkan Excel sebagai Robot Octopussy.
Dia, si CONCATENATE itu, dapat menggabung 2 teks atau lebih, asal tiap teks (cell) dimasukkan sebagai satu argument tersendiri.
Dan Andapun mafhum bahwa dlm sebuah fungsi, jumlah argument selalu terbatas (s/d Excel 2003, argument dalam sebuah fungsi terbatas max 30).

Hal yang cukup mengherankan adalah: bahwa sebenarnya untuk membuat fungsi seperti CONCATENATE yg lebih "manusiawi" itu bukannya pekerjaan sulit, tetapi microsoft tidak pernah mau memperbaiki atau membuat fungsi penggantinya.

Misalnya, ada 8 cell masing-masing berisi  "a", "b", "c", "d", "e", "f", "g", "h".
Untuk menggabungnya menjadi "abcdefgh" ke dalam satu cell (menjadi satu data), kita harus rela gigih berjuang mati-matian menuliskan =CONCATENATE(A1,A2,A3,A4,A5,A6,A7,A8) yg membuat pegel linu bukan hanya di otot, tetapi juga di otak.
Bayangkan pula kalau anda ingin hasil  "a,b,c,d,e,f,g,h" !  Anda harus melalui "perjuangan suci" menuliskan fungsi concatenate dengan 15 buah arguments.
Bagaimana pulak kalau anda bertemu urusan yg harus menggabung 31 buah data ex 31 cell ??. Tentu masih bisa, yaitu dengan memberlakukan Concatenate di dalam Concatenate..
Ini terasa timpang jika kita bandingkan dengan =SUM(A1:A60000) yang dapat menjumlah semua bilangan ex 60ribu cells  pada Range A1:A60000.

Maka itu, istilah "lumpuh" di atas saya kira bukannya istilah yg terlalu merendahkan kalau harapan kita sering terlalu tinggi, seperti masih seringnya telihat pertanyaan muncul di milis mengenai penggabungan data (dan tanpa sadar ternyata bersyarat ) namun diinginkan hanya dengan formula saja...

Seandainya boleh titip pesan, jangan kita bermimpi mengharapkan Concatenate() dapat menggabung data berdasarkan syarat. (Seperti dengan SUMIF yg mampu menjumlah berdasarkan syarat), kecuali kalau anda mau menggabungnya secara full manyual…

CONCAT

Dengan fungsi buatan sendiri bernama CONCAT() pekerjaan di atas dapat anda tulis =CONCAT(A1:A8)
atau
=CONCAT(A1:A8,",") untuk menghasilkan gabungan data dengan delimiter "," (koma) atau karakter lain favorit anda.

Pendeknya,  aturan penulisan (sintaks) fungsi CONCAT adalah
CONCAT(RangeBerisiDataYangInginDigabung, [KarakterDelimiter])
KarakterDelimiter bersifat opsional, kalau tidak diisi, antar data yg digabung tidak diberi tanda pemisah.

Jika keperluan "panggabungan data" memang ada (sekaligus sering) dan anda merasa terbantu dengan fungsi CONCAT, ya gunakan saja, freely, kalau perlu simpan wokbuknya sebagai (xla) add in. (termasuk bonusnya: ConcatIf() )
Bila anda termasuk orang yg belum sempat mendalami makro tetapi sudah menghadapi  "keperluan penggabungan data", dan tidak mau memakai bantuan CONCAT karena "makro"nya, ya jangan gunakan, tetapi janganlah bilang "saya tidak mau pakai fungsi ini karena belum tahu makro", ndak enak didengarnya, karena keduanya tidak ada hubungannya sama sekali.
Bukankah tiap hari kita MAU memakai fungsi bawaan excel dengan tenang dan damai, tanpa kita harus mengetahui bagaimana fungsi itu dibuat dan seperti apa 'isinya'.
Ya ndak ??

~siti~
jakarta 31mei2009

-------------------------------------------------------------------------------------------------------
Function Concat(Rng, Optional Dlmtr As String = "") As String
   ' function pengganti Concatenate yg lebih gampang
   ' terutama bila KAU ingin menggabung data dari buanyakkk cells
   ' siti vi // jkt rewrite // 30mei2009
   '------------------------------------------------------------------
   Dim Hasil as String, cell As Range
   For Each cell In Rng
      If CStr(cell) <> "" And CStr(cell) <> " " Then
         Hasil = Hasil & CStr(cell) & Dlmtr
      End If
   Next
   If Not Dlmtr = "" Then Hasil = Left(Hasil, Len(Hasil) - Len(Dlmtr))
   Concat = Hasil
End Function
-------------------------------

ConcatIf ?  ini apalagi...,
apakah ada hubungannya dgn Concat dan analoginya dgn CountIf maupun SumIf ??

__._,_.___
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| Uanggggg... di manakah kau beradaaaa?                             |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
Recent Activity
Visit Your Group
Give Back

Yahoo! for Good

Get inspired

by a good cause.

Y! Toolbar

Get it Free!

easy 1-click access

to your groups.

Yahoo! Groups

Start a group

in 3 easy steps.

Connect with others.

.

__,_._,___

Nenhum comentário:

Arquivo do blog