• DİKKAT

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

excell matris tabloda sütunları satıra çevirme

Katılım
17 Ocak 2012
Mesajlar
8
Excel Vers. ve Dili
excel 2010
merhabalar,

Öncelikle konu bir excell SATIR-SUTUN DEĞİŞTİR işlemi değildir. konu her yerde bu şekilde anlaşılmış ancak işlemi tersine çevir ile çözülecek bir problem değil.

Bahsedeceğim işlem manuel olarak da yapılabiliyor ancak epey bir zaman alıyor bilen bilir :)

elimde şu şekilde veri topluluğu var;

ÜRÜN EK GRUP BİRİM SND-20 341-AVR 160-BUR 350-IZM 070-ANT 060-ANK
CİPS ADT 382 760 496 22 23 42

buradaki SND-AVR-BUR-IZM-ANT-ANK bölgeler. matris tablonun ilk sütununda ise EK gruplar mevcut. benim yapmak istediğim ise bölgeler ilk sütuna gelecek şekilde aşağıdaki sıralamayla, yeni bir veri topluluğu oluşturmak.

BÖLGE ÜRÜN EK GRUP BİRİM ADET
SND-20 CİPS ADT 382
341-AVR CİPS ADT 760
160-BUR CİPS ADT 496
350-IZM CİPS ADT 22
070-ANT CİPS ADT 23
060-ANK CİPS ADT 42


çözümü kesinlikle çok basittir ve bir yerlerde kodu vardır ancak konu başlıklarından anlamak pek mümkün değil. belki tekrar tekrar aynı konuyu soruyorum ancak ilgili kodu bir türlü bulamadım.

şimdiden çok teşekkürler.
 
Örnek dosya olsaydı daha iyi olurdu.
 
İmzamda belirttiğim yöntemle paylaşbilirsiniz.
 
çok teşekkürler site çok faydalı, ancak power querry öğrenmem gerekecek sanırım. macro ile çözümü vardır diye düşünüyorum bu problemin.

yine de kaynak için çok teşekkürler...
 
Öncelikle dosyanıza bir sayfa daha ekleyin. Sayfa adını ben Sayfa2 olarak kodda belirttim.
Sayfa2'nin A1 hücresine BÖLGE yazın, B1 hücresine ÜRÜN EK GRUP, C1 hücresine ÜrÜN KODU, D1 hücresine BİRİM ve E1 hücresine de MİKTAR şeklinde sütun başlıklarını yazın.

Aşağıdaki makroyu bir modüle kopyalayıp deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
son1 = s1.Cells(Rows.Count, "A").End(3).Row
Application.ScreenUpdating = False
    For urun = 2 To son1
        sonsut = WorksheetFunction.Max(s1.Cells(urun, Columns.Count).End(xlToLeft).Column, 4)
        For bolge = 4 To sonsut
            yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
            s2.Cells(yeni, "A") = s1.Cells(1, bolge)
            s2.Cells(yeni, "B") = s1.Cells(urun, "A")
            s2.Cells(yeni, "C") = s1.Cells(urun, "B")
            s2.Cells(yeni, "D") = s1.Cells(urun, "C")
            s2.Cells(yeni, "E") = s1.Cells(urun, bolge)
        Next
    Next
Application.ScreenUpdating = True
        
MsgBox "İşlem Tamamlandı"
s2.Activate
End Sub


Verilerinizin çokluğuna göre işlem uzun sürebilir.
 
Öncelikle dosyanıza bir sayfa daha ekleyin. Sayfa adını ben Sayfa2 olarak kodda belirttim.
Sayfa2'nin A1 hücresine BÖLGE yazın, B1 hücresine ÜRÜN EK GRUP, C1 hücresine ÜrÜN KODU, D1 hücresine BİRİM ve E1 hücresine de MİKTAR şeklinde sütun başlıklarını yazın.

Aşağıdaki makroyu bir modüle kopyalayıp deneyin:

PHP:
Sub aktar()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
son1 = s1.Cells(Rows.Count, "A").End(3).Row
Application.ScreenUpdating = False
    For urun = 2 To son1
        sonsut = WorksheetFunction.Max(s1.Cells(urun, Columns.Count).End(xlToLeft).Column, 4)
        For bolge = 4 To sonsut
            yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
            s2.Cells(yeni, "A") = s1.Cells(1, bolge)
            s2.Cells(yeni, "B") = s1.Cells(urun, "A")
            s2.Cells(yeni, "C") = s1.Cells(urun, "B")
            s2.Cells(yeni, "D") = s1.Cells(urun, "C")
            s2.Cells(yeni, "E") = s1.Cells(urun, bolge)
        Next
    Next
Application.ScreenUpdating = True
       
MsgBox "İşlem Tamamlandı"
s2.Activate
End Sub


Verilerinizin çokluğuna göre işlem uzun sürebilir.
çok teşekkür ederim geç dönebildim kusura bakmayın.
 
konu ile ilgili POWER QUERRY yi öğrenmiş olmak çok basitleştirdi mevzuyu. İdris Bey çok teşekkür ederim. gerçekten korktuğum kadar karmaşık değil, çok açık, anlaşılır. bu problemi yaşayanlara kesinlikle tavsiye ederim.
 
konu ile ilgili POWER QUERRY yi öğrenmiş olmak çok basitleştirdi mevzuyu. İdris Bey çok teşekkür ederim. gerçekten korktuğum kadar karmaşık değil, çok açık, anlaşılır. bu problemi yaşayanlara kesinlikle tavsiye ederim.

İşte balık tutmayı öğrenmek budur.

.
 
İdris bey merhaba,

Paylaştığınız dosyayı indirip Power Query ile yapmaya çalıştım ama yapamadım.

Matris şeklinde hazırlanmış verilerim var var veri tabanı mantığında alt alta akacak şekilde düzenlemem gerek. Yardımcı olabilir misiniz?

225727
 
Geri
Üst