• FORUMU MOBİL UYGULAMADAN TAKİP EDİN

    Forumu isteyen üyelerimiz Tapatalk (Harici bir hizmet) üzerinden mobil uygulamadan takip edebilirler.
    iOS için : https://itunes.apple.com/app/id307880732?mt=8
    Android için : https://play.google.com/store/apps/details?id=com.quoord.tapatalkpro.activity
    adreslerinden indirebilirsiniz.

    Bir iki haftaya da foruma özel kendi uygulamamız yayında olacak.
ALTIN ÜYELİK Hakkında Bilgi
-----------------------

Satırı hücre içindekiler ile birleştirme

FDUYAR

Altın Üye
Katılım
16 Mart 2007
Mesajlar
19
Beğeniler
0
Excel Vers. ve Dili
2013
#1
Kıymet arkadaşlar merhaba şöyle bir sorum olacak. A sutununda her bir satırda benzersiz bir değer var. B sutununda ise her bir hücrenin içerisinde 20 satırdan fazla içerik var.

Örnek A Sutunun her bir satır aşağıdaki gibi:
Deri
Naylon
Kumaş
...

B sutununda bir hücrenin içeriği:
Çanta
Cüzdan
Ayakkabı
...

ben C sutununda bunun birleşmesini istiyorum. Yani C1 hücresinin içeriği aşağıdaki gibi olmalı: Her birinin bir satırda olması işimi görmüyor bir hücrenin içerisinde birleşmeli;
Deri Çanta
Deri Cüzdan
Deri Ayakkabı

C2 hücresi de yukarıdaki mantığa gibi olmalı bunu tüm satıra uygulayacağım.

Yardımlarınızı rica ediyorum.
 

çıtır

Altın Üye
Altın Üye
Katılım
6 Mart 2005
Mesajlar
2,578
Beğeniler
114
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
#4
Silindi
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,326
Beğeniler
10
Excel Vers. ve Dili
Office 2010 & 2013 tr
#5
Selamlar,
Makro isterseniz çözüm üretebilirim. Fonksiyonu deneyeceğim.
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,326
Beğeniler
10
Excel Vers. ve Dili
Office 2010 & 2013 tr
#6
Selamlar,
Formülle bir çözüm ürettim. Formül biraz daha kısaltılabilir. Vakit bulursam daha kısa bir formül oluşturmaya çalışacağım. C1 sütununa formülü kopyalayıp aşağı doğru çoğaltınız. C sütununu metni kaydır ile biçimlendiriniz.
Kod:
=KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));1*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));1*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1))) &" " & KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));2*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));2*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1))) &  " "  & KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));3*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));3*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1)))
 
Son düzenleme:

FDUYAR

Altın Üye
Katılım
16 Mart 2007
Mesajlar
19
Beğeniler
0
Excel Vers. ve Dili
2013
#7
Selamlar,
Formülle bir çözüm ürettim. Formül biraz daha kısaltılabilir. Vakit bulursam daha kısa bir formül oluşturmaya çalışacağım. C1 sütununa formülü kopyalayıp aşağı doğru çoğaltınız. C sütununu metni kaydır ile biçimlendiriniz.
Kod:
=KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));1*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));1*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1))) &" " & KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));2*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));2*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1))) &  " "  & KIRP(PARÇAAL(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);"");" ";YİNELE(" ";UZUNLUK(A1)));3*UZUNLUK(A1)-(UZUNLUK(A1)-1);UZUNLUK(A1))) & " " &KIRP(PARÇAAL(YERİNEKOY(B1;" ";YİNELE(" ";UZUNLUK(B1)));3*UZUNLUK(B1)-(UZUNLUK(B1)-1);UZUNLUK(B1)))
Üstad ilgin için teşekkür ederim, fakat gene çalışmadı ben mi bi yerde hata yapıyorum bilmiyorum sadece ilk satır oluyor ikinci satır olmuyor.
 

papatya35

Altın Üye
Altın Üye
Katılım
5 Haziran 2018
Mesajlar
60
Beğeniler
3
#9
Cevabınız için teşekkürler fakat olmadı sonuç şu şekilde oldu :
Deri Çanta
Cüzdan
Ayakkabı


Yani ilk kelimenin başına deri ifadesi geldi aşağıdakilere gelmedi
aslında silinmemesi lazım formülü aşağı kaydırdığınızda seçilen hücreleri kontrol eder misiniz a2 hücresine formül kayacak orada deri yazıyor mu gibi
 

FDUYAR

Altın Üye
Katılım
16 Mart 2007
Mesajlar
19
Beğeniler
0
Excel Vers. ve Dili
2013
#11
Dosyayı inceledim teşekkürler.

Hata şurda ilk mesajda da yazdığım gibi a sutunundaki değerlerin her biri bir satırda fakat b sutununda hücre içinde.

Örnek dosya linki aşağıdadır. Ben c sutununda olduğu gibi birleşmesin istiyorum. Örnek dosyada B sutununda 5 satır içerik var hücre içinde fakat aslında esas kullanacağım yerde 50 satır cıvarı içerik olacak hücre içinde.

Yardımlarınız için şimdiden teşekkürler.

https://drive.google.com/file/d/1DxxePf4RluLE9tIB-A7ITBqWXU4rTmWV/view?usp=sharing
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,326
Beğeniler
10
Excel Vers. ve Dili
Office 2010 & 2013 tr
#13
Formül ile de yapılabilir; fakat 50 satırlık hücre için uygun olmayacaktır. Bu nedenle makro ile bir çözüm ürettim.
Kod:
Sub hucre_birlestir()
sonsat = Cells(Rows.Count, 1).End(3).Row
For i = 1 To sonsat
If InStr(1, Cells(i, 2), Chr(10)) > 0 Then
deg = Split(Cells(i, 2), Chr(10))
For x = 0 To UBound(deg)
mtn = mtn & Cells(i, 1) & " " & deg(x) & Chr(10)
Next
Cells(i, 3) = Left(mtn, Len(mtn) - 1)
mtn = ""
End If
Next
MsgBox "İşlem tamamlandı.", vbOKOnly, "l e u m r u k"
End Sub
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
23,474
Beğeniler
53
Excel Vers. ve Dili
OFFICE 2013-2016 PRO TR
#15
Alternatif olarak aşağıdaki kullanıcı tanımlı fonksiyonu da deneyebilirsiniz.

Örnek dosyanızdaki C1 hücresi için; =KBİRLEŞTİR(A1;B1) şeklinde kullanabilirsiniz.

Kod:
Function KBİRLEŞTİR(Eklenecek_Veri As Range, Veri As Range) As String
    Dim Metin As Variant

    Application.Volatile True

    If InStr(1, Veri.Value, Chr(10)) = 0 Then
        If Len(Veri.Value) > 0 Then
            KBİRLEŞTİR = Eklenecek_Veri.Value & " " & Veri.Value
        Else
            KBİRLEŞTİR = Empty
        End If
    Else
        Metin = Split(Veri.Value, Chr(10))
        For X = 0 To UBound(Metin)
            If KBİRLEŞTİR = Empty Then
                KBİRLEŞTİR = Eklenecek_Veri.Value & " " & Metin(X)
            Else
                KBİRLEŞTİR = KBİRLEŞTİR & Chr(10) & Eklenecek_Veri.Value & " " & Metin(X)
            End If
        Next
    End If
End Function
 

Ekli dosyalar

FDUYAR

Altın Üye
Katılım
16 Mart 2007
Mesajlar
19
Beğeniler
0
Excel Vers. ve Dili
2013
#16
Emeğiniz ve verdiğiniz cevaplar için çok teşekkür ederim.
Siz değerli üstadlara bir sorum daha olacak.
Ben şimdi bu makroları kullanarak istediğim yaptım fakat bir ilave yapmak istiyorum.

Bir hücrenin içerisindeki satırları metine çevirmek istiyorumç Şöyle ki

Bir hücrenin içinde aşağıdaki satılar var :
Deri Çanta
Deri Cüzdan
Deri Ayakkabı
Deri Mont
Deri Kaban
Deri Ceket
Deri pantolon

Ben bir makro kullanarak her üç satırı bir cümle haline getirmek istiyorum:
Deri çanta deri cüzdan deri ayakkabı. Deri mont deri kaban deri ceket.

Yani üç satırdaki değerler yan yana gelip sonuna bir "." konacak sonra bir boşluk verilip alttaki değerler ile devam edecek.
Tabi bu iş yine bir hücre içinde olacak.

Mümkün müdür ?
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
23,474
Beğeniler
53
Excel Vers. ve Dili
OFFICE 2013-2016 PRO TR
#17
Deneyiniz.

Kullanımı ; =KBİRLEŞTİR(A1)

Kod:
Function KBİRLEŞTİR(Veri As Range) As String
    Dim Metin As Variant, Say As Integer
   
    Application.Volatile True
   
    If InStr(1, Veri.Value, Chr(10)) = 0 Then
        If Len(Veri.Value) > 0 Then
            KBİRLEŞTİR = Veri.Value & "."
        Else
            KBİRLEŞTİR = Empty
        End If
    Else
        Metin = Split(Veri.Value, Chr(10))
        For X = 0 To UBound(Metin)
            If KBİRLEŞTİR = Empty Then
                KBİRLEŞTİR = Metin(X)
                Say = Say + 1
            Else
                If Say = 3 Then
                    Say = 1
                    KBİRLEŞTİR = KBİRLEŞTİR & "." & Chr(10) & Trim(Metin(X))
                Else
                    KBİRLEŞTİR = KBİRLEŞTİR & " " & Trim(Metin(X))
                    Say = Say + 1
                End If
            End If
        Next
    End If
    If Right(KBİRLEŞTİR, 1) <> "." Then KBİRLEŞTİR = KBİRLEŞTİR & "."
End Function
 

Ekli dosyalar

Üst