"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
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: p02ccSent: Wednesday, November 11, 2009 6:29 PMSubject: ]] XL-mania [[ Mencari Lokasi Dealer dibeberapa AreaDear 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 |
+-------------------------------------------------------------------+
| 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:
Postar um comentário