Diyelim ki karşılık gelen teminata sahip bir kredi tablomuz var. Örneğin her kredi için teminat listesini tek bir hücrede görüntülememiz gerekiyor.
Excel bize yalnızca basit bir işlev sağlayabilir CONCATENATE , ancak gerekli hücreleri manuel olarak seçmeniz gerekecektir. İşi basitleştirmek için süreci otomatikleştirmemiz gerekiyor metnin farklı hücrelerden duruma göre bağlantısı . Yani eğer hızlı bir şekilde ihtiyacınız varsa farklı hücrelerden metni "kanca" bir koşul kullanarak IF , o zaman kendi fonksiyonunuzu yazmalısınız.
Teminatlı krediler tablosu:
O halde kendi fonksiyonumuzu yaratalım ve ona isim verelim. CONCATIF . Bunu yapmak için menüyü açın Service - Macros - Visual Basic Düzenleyici , modül ekle VBA (Menü Insert - Module ) ve bu işlevin metnini buraya kopyalayın:
Function CONCATIF(Table As Range, SearchValue As Variant, Table2 As Range) 'moonexcel.com.ua Dim i As Integer For i = 1 To Table.Rows.Count If Table.Cells(i, 1) = SearchValue Then If Not IsEmpty(Table2.Cells(i, 1).Value) Then CONCATIF = CONCATIF & Table2.Cells(i, 1).Value & "; " End If End If Next i CONCATIF = Left(CONCATIF, Len(CONCATIF) - 2) End Function
Visual Basic Editor'ı kapatın ve Excel'ye dönün.
Şimdi, Function wizard kategorisinde
=CONCATIF ( aranan değerleri içeren sütun ; arama değeri ; birleştirilecek verileri içeren sütun )
Aşağıdaki sonuca sahip olacağız:
Son olarak aralıkları düzeltmeniz gerekiyor A2:A10 Ve C2:C10 dolar işareti ($) böylece işlev kopyalanırken aralıklar aşağı doğru hareket etmez.