• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

alt alta olan verileri yan yana yazma

Katılım
18 Nisan 2009
Mesajlar
72
Excel Vers. ve Dili
Microsoft Office Excell 2007 Türkçe
merhaba arkadaşlar..

üstesinden gelemediğim bir konuyu sizinle paylaşmak isterim.elimde yaklaşık 20 bin satır bir veri var..bu verileri sütun sütun (yani yan yana) yazdırmak istiyorum.örnek vermek gerekirse;


şuan elimdeki liste şu örnek şekilde;
-----------------a---------b
1 ahmet---------1
2 ahmet---------2
3 ahmet---------3
4 ali-------------4
5 ali-------------5
6 ali-------------6


benim yapılması istediğim ise şu şekilde olmalı;


---------------a-------b------c

1 ahmet-------1-------2------3
2 ali-----------4-------5------6


dosya ekleyemedim kusura bakmayın.umarım düzgün anlatabilmişimdir.yardımlarınızı rica ediyorum

not: çizgiler şaşırtmasın sütun harfleri ve rakamlar denk gelmiyo diye yaptım :)
 
Bu kodları kullanabilirsiniz;

Kod:
[FONT="Trebuchet MS"]Sub Emre()
    Dim d As Object, i As Long, sut As Integer, sat As Long
    Dim s, a1, a2, t, deg As String, j As Integer
    Set d = CreateObject("Scripting.Dictionary")
    Application.ScreenUpdating = False
    For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        deg = Cells(i, "A")
        If Not d.exists(deg) Then
            s = Cells(i, "B")
            d.Add deg, s
                Else
           s = d.Item(deg)
           s = s & " " & Cells(i, "B")
           d.Item(deg) = s
       End If
    Next i
 
    a1 = d.keys: a2 = d.items: sat = 2
    For i = 0 To d.Count - 1
        Cells(sat, "d") = a1(i)
        sut = 5
        t = Split(a2(i))
        For j = 0 To UBound(t)
            Cells(sat, sut) = t(j)
            sut = sut + 1
        Next j
        sat = sat + 1
    Next i
    Application.ScreenUpdating = True
End Sub[/FONT]
Not: Vaktim olmadığından kodları siteden alıntı yaptım.
İhtiyacınızı karşılayacaktır.
 
Aslında makro ile daha kolay olur. Ancak basit bir formülle şöyle yapabiliriz;
İlk olarak verilerinizi isme göre alfabetik olarak sıralayın.Sonra isimlerin yer aldığı sütunu seçin ve başka bir sütuna yapıştırın. Ardından yinelenenleri kaldırın. Sonra ilk ismin yanındaki hücreye şu formülü yazın(verilerin A ve B sütunlarında olduğunu varsayıyorum.
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0);0)
Daha sonra yandaki hücrelere +1 şeklinde ekleyin
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+1;0)
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+2;0)
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+3;0)
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+4;0)
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+5;0)
Kod:
=İNDİS($B:$B;KAÇINCI($F2;$A:$A;0)+6;0)

Kolay gelsin.
 
evet tam istediğim oldu..çok teşekkür ederim yardımlarınızı için
 
Geri
Üst