Tecnologia, programação e muito Visual FoxPro.

quarta-feira, 11 de novembro de 2009

Re: ]] XL-mania [[ Mencari Lokasi Dealer dibeberapa Area

 

"Mencari Dealer" is Menggabung Data + Bersyarat !?
 
Dengan Excel 2003, dan hanya mengandalkan fungsi2 standard, jika hasilnya harus
dalam 1 cell = kayaknya tidak mu'in ...
Tetapi Jika diBOLEHkan array formula yg mencakup beberapa cell sebaris,
seperti ini kira2 bentuknya  (dlm kasus ini ditulis sekaligus di 10 cell sebaris)
'=TRANSPOSE(INDEX($C$5:$C$14,SMALL(IF($D$5:$D$14=D5,ROW($1:$10)),ROW($1:$10))))
 
Itupun, antar hasil  hanya bisa muncul misal  A C F I  (tiap karakter = 1 cell);
Tidak bisa: dalam 1 cell berisi:   "A, C, F & I"  apalagi "delimiter" (PENANDA PISAH ANTAR DATA) terakhir
TIBA-TIBA harus berubah, semula KOMA menjadi  "&" seperti itu
 
Entah di Excel 2007; apakah di sana sudah ada fungsi baru CONCATENATE_IF saya tidak tahu...
Tetapi di Excel 2003 ada fungsi ConcatIf tetapi harus ditulis sendiri UDF nya
( lihat posting milis awal juni 2009  http://tech.groups.yahoo.com/group/XL-mania/message/13436 )
 
sehingga kita hanya perlu menuliskan:
'=ConcatIf(ArrayYgDiEvaluasi, Kriteria, [ArrayYgDigabung], [Delimiter])
 
prakteknya di lapangan:
'=ConcatIf($D$5:$D$14,D5,$C$5:$C$14,",")
tetap dengan semua "Delimiter" kembar, misal KOMA semua.
( Tetapi jika anda tidak suka makro, jangan gunakan formula tsb....)
 
Untuk membuat UDF yg sanggup menghasilkan agar delimiter terakhir TIBA-TIBA menjadi "&"
(delemiter sebelumnya = KOMA, atau karakter lain) tentu saja bisa..; tetapi HASIL yg hanya seperti itu 
=tidak sebanding dgn waktu yg digunakan untuk menggagas idea-nya untuk menjadi code.
 
~ctv~ 
 
'--- udf code --
Function ConcatIf(Rang1 As Range, Krite As Range, _
              Optional Rang2 As Range = Nothing, _
              Optional Dlmtr As String = ",") As String
   '------------------------------------------------
   ' siti Vi / UDF menggabung bersyarat
   ' bluewater, june 22, 2008 / retouched 1 juni 2009
   '-------------------------------------------------

   Dim Cel As Range, Hasil As String, n As Long
   If Rang2 Is Nothing Then Set Rang2 = Rang1
   For n = 1 To Rang1.Rows.Count
     If Rang1(n, 1) = Krite _
     Then Hasil = Hasil & Dlmtr & Rang2(n, 1)
   Next n
   If Len(Hasil) > 0 _
   Then ConcatIf = Right(Hasil, Len(Hasil) - Len(Dlmtr)) _
   Else ConcatIf = Hasil
End Function
 
 
----- Original Message -----
From: p02cc
Sent: Wednesday, November 11, 2009 6:29 PM
Subject: ]] XL-mania [[ Mencari Lokasi Dealer dibeberapa Area

Dear Pakar Excel,

Saya menghadapi masalah untuk mencari Lokasi Dealer yang terdapat dibeberapa Area.

Mohon bantuannya untuk memecahkan masalah tsb. ( Saya harapkan hasilnya menggunakan Array Formula ).

Contoh terlampir. Thx

Zaldi

New Member

 

__._,_.___
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| Kawin... Kawin... Minggu depan aku kawinnnnn...                   |
| 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              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog