• DİKKAT

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

Firma Unvanlarını Tek Satırda Görmek

  • Konbuyu başlatan Konbuyu başlatan stier_22
  • Başlangıç tarihi Başlangıç tarihi

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Merhaba Arkadaşlar ,

Elimde 250.000 satırlık bir indirim listesi var burada firma girişleri yapılırken aynı firma farklı farklı şekillerde yazıldığı için 250.000 satırın her yerine dağıtıyor. Özet tabloda bu firmaları tek olarak görmek ve karşısında da ocaktan aralık ayına kadar alış kdv'lerinin toplamını görmek istiyorum. Özet tablo dışında makroda işimi görür makro ile firma unvanları düzeltilirse ordan özet tabloda işlem yapabilirim. Ama şablona oturtamıyorum yardımcı olabilen varsa sevinirim. Örnek dosya ektedir.
 

Ekli dosyalar

Merhaba ,

Naçizane tavsiyem ,
Vergi kimlik numarasına göre özet tablodan istediğiniz tabloyu oluşturabilirsiniz
tabi ki ünvan konusunu üstadlarımız çözerler ama acil ise bu şekilde çözülebilir
 
Merhaba,

Satır etiketleri olarak önce Vergi No sonra Satıcı adı olarak belirlerseniz bir nebze olsun satır sayısını azaltabilirsiniz.
 
Dosyanız ektedir.:cool:
Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("var olan")
Range("A2:M" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:I" & sh.Cells(Rows.Count, "E").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 13)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 4)) Then
        n = n + 1
        z.Add (liste(i, 4)), n
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) = myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) + liste(i, 8)
Next i
Range("A2").Resize(n, 13) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub
 

Ekli dosyalar

Var olan dosyanın içine yaptım. Olmasını istediğin sayfaya uyarlama yapabilirsin.
 

Ekli dosyalar

Dosyanız ektedir.:cool:
Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("var olan")
Range("A2:M" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:I" & sh.Cells(Rows.Count, "E").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 13)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 4)) Then
        n = n + 1
        z.Add (liste(i, 4)), n
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) = myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) + liste(i, 8)
Next i
Range("A2").Resize(n, 13) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub

Vallahi tebrik ederim ben toplam çarpımla bir şeyler yapmaya çalışmıştım. Çok güzel bir sonuç çıkmış. Arkadaşın işine yarar umarım. Kendi adıma tebrik etmek istedim.
 
Dosyanız ektedir.:cool:
Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("varolan")
Range("A2:O" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:K" & sh.Cells(Rows.Count, "E").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 15)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 4)) Then
        n = n + 1
        z.Add (liste(i, 4)), n
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 3) = myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) + liste(i, 10)
Next i
Range("A2").Resize(n, 15) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub
 

Ekli dosyalar

evren bey merhaba. çalışma mükemmel olmuş. elinize sağlık .bu filtrelemeyi yaptıktan sonra aşağıdaki isimleri de sadece Fine Otel Isl. A.S gibi birleştirme imkanı olur mu. yani yapılmak istenen bir veri datasında benzer isimleri birleştirme yapabilirmiyiz.

Fine Otel Isl. A.S. (Rh Sungate)
Fine Otel Isl. A.S. (Rh Downtown)
Fine Otel Isl. A.S. (Rh Pera)
Fine Otel Isl. A.S. (Rh Bodrum)
 
evren bey merhaba. çalışma mükemmel olmuş. elinize sağlık .bu filtrelemeyi yaptıktan sonra aşağıdaki isimleri de sadece Fine Otel Isl. A.S gibi birleştirme imkanı olur mu. yani yapılmak istenen bir veri datasında benzer isimleri birleştirme yapabilirmiyiz.

Fine Otel Isl. A.S. (Rh Sungate)
Fine Otel Isl. A.S. (Rh Downtown)
Fine Otel Isl. A.S. (Rh Pera)
Fine Otel Isl. A.S. (Rh Bodrum)
Sanmıyorum.:cool:
 
Merhaba,

Dosyanızda bazı düzenlemeler yaparak istediğiniz sonuca ulaşabildim. Sizde bu işlemleri kolaylıkla yapabilirsiniz.

"var olan" sayfasında "M" sütunu yardımcı sütun olarak kullanılmıştır. Buradaki formülleri ihtiyacınız kadar alt satırlara sürükleyiniz.

"M" sütununda "Lütfen LİSTE sayfasına ilgili satıcı kodunu ve adını ekleyiniz." uyarısı gördüğünüz satırlara ait satıcı kodunu ve adını LİSTE sayfasına eklemeniz gerekiyor. Bu şekilde özet tablonuz sorunsuz çalışacaktır.

LİSTE sayfasında yazdığım notları okursanız dosyayı rahatlıkla yönetebilirsiniz.
 

Ekli dosyalar

Dosyanız ektedir.:cool:
Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("var olan")
Range("A2:M" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:I" & sh.Cells(Rows.Count, "E").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 13)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 4)) Then
        n = n + 1
        z.Add (liste(i, 4)), n
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) = myarr(z.Item(liste(i, 4)), Month(liste(i, 1)) + 1) + liste(i, 8)
Next i
Range("A2").Resize(n, 13) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub

üstad emeğinize sağlık fakat istediğim tam olarak bu değildi ben aynı firmanın farklı biçimlerde yazılmış olan unvanlarını tek unvana düşürüp ilgili kdv'lerini de aylık bazda toplamını görmek istiyorum sizin çalışmanızda ünvanlar gene dağınık olarak gözüküyor.
 
evren bey merhaba. çalışma mükemmel olmuş. elinize sağlık .bu filtrelemeyi yaptıktan sonra aşağıdaki isimleri de sadece Fine Otel Isl. A.S gibi birleştirme imkanı olur mu. yani yapılmak istenen bir veri datasında benzer isimleri birleştirme yapabilirmiyiz.

Fine Otel Isl. A.S. (Rh Sungate)
Fine Otel Isl. A.S. (Rh Downtown)
Fine Otel Isl. A.S. (Rh Pera)
Fine Otel Isl. A.S. (Rh Bodrum)



İstediğim tam olarak buydu :)
 
Merhaba,

Dosyanızda bazı düzenlemeler yaparak istediğiniz sonuca ulaşabildim. Sizde bu işlemleri kolaylıkla yapabilirsiniz.

"var olan" sayfasında "M" sütunu yardımcı sütun olarak kullanılmıştır. Buradaki formülleri ihtiyacınız kadar alt satırlara sürükleyiniz.

"M" sütununda "Lütfen LİSTE sayfasına ilgili satıcı kodunu ve adını ekleyiniz." uyarısı gördüğünüz satırlara ait satıcı kodunu ve adını LİSTE sayfasına eklemeniz gerekiyor. Bu şekilde özet tablonuz sorunsuz çalışacaktır.

LİSTE sayfasında yazdığım notları okursanız dosyayı rahatlıkla yönetebilirsiniz.


Şimdi bunu deneyeceğim teşekkürler emeğiniz için.
 
Dosyanızda bazı düzenlemeler yaparak istediğiniz sonuca ulaşabildim. Sizde bu işlemleri kolaylıkla yapabilirsiniz.

"var olan" sayfasında "M" sütunu yardımcı sütun olarak kullanılmıştır. Buradaki formülleri ihtiyacınız kadar alt satırlara sürükleyiniz.

"M" sütununda "Lütfen LİSTE sayfasına ilgili satıcı kodunu ve adını ekleyiniz." uyarısı gördüğünüz satırlara ait satıcı kodunu ve adını LİSTE sayfasına eklemeniz gerekiyor. Bu şekilde özet tablonuz sorunsuz çalışacaktır.

LİSTE sayfasında yazdığım notları okursanız dosyayı rahatlıkla yönetebilirsiniz.

Teşekkürler üstad, fakat burada şöyle bir sıkıntı oldu benim adıma , binlerce firmanın vergi numarasını tek tek bulup kopyalamak çok zaman alıyor bunun daha pratik bir yolu var mıdır? Yani öyle bir şey olmalı ki vergi numarasına denk gelen firmanın ilk unvanını baz alsın, kdv rakamlarını da vergi numarasına göre toplasın ve diğer aynı firmanın farklı şekillerde yazılmış unvanını hiç görmesin istiyorum...:giggle:
 
Bunu excelin yerleşik özelliklerini kullanarak rahatlıkla yapabilirsinz.

Vergi numarası sütununu boş bir sayfaya kopyalayın ve bu sütunda "yinelenenleri kaldır" seçeneğini uygulayın.

Daha sonra bu sütunun yanına İNDİS+KAÇINCI fonksiyonları ile firma adını getirtin. Gelen satıcı adlarını beğenmiyorsanız ilgili sütunu kopyala-değer yapıştır yaptıktan sonra elle düzenleyebilirsiniz.

Liste sayfası için örnek formül;
Kod:
=İNDİS('var olan'!E:E;KAÇINCI(A2;'var olan'!F:F;0))

Bu aşamadan sonra "M" sütununda "Lütfen LİSTE sayfasına ilgili satıcı kodunu ve adını ekleyiniz." uyarısı görmüyorsanız özet tablo üzerinde sağ klik "YENİLE" komutunu çalıştırmanız yeterli olacaktır.
 
Bunu excelin yerleşik özelliklerini kullanarak rahatlıkla yapabilirsinz.

Vergi numarası sütununu boş bir sayfaya kopyalayın ve bu sütunda "yinelenenleri kaldır" seçeneğini uygulayın.

Daha sonra bu sütunun yanına İNDİS+KAÇINCI fonksiyonları ile firma adını getirtin. Gelen satıcı adlarını beğenmiyorsanız ilgili sütunu kopyala-değer yapıştır yaptıktan sonra elle düzenleyebilirsiniz.

Liste sayfası için örnek formül;
Kod:
=İNDİS('var olan'!E:E;KAÇINCI(A2;'var olan'!F:F;0))

Bu aşamadan sonra "M" sütununda "Lütfen LİSTE sayfasına ilgili satıcı kodunu ve adını ekleyiniz." uyarısı görmüyorsanız özet tablo üzerinde sağ klik "YENİLE" komutunu çalıştırmanız yeterli olacaktır.

Valla 10 numara oldu üstad emeğinize sağlık çok teşekkürler....
 
üstad emeğinize sağlık fakat istediğim tam olarak bu değildi ben aynı firmanın farklı biçimlerde yazılmış olan unvanlarını tek unvana düşürüp ilgili kdv'lerini de aylık bazda toplamını görmek istiyorum sizin çalışmanızda ünvanlar gene dağınık olarak gözüküyor.
Vergi numarasına göre yapttım.:cool:

Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("varolan")
Range("A2:O" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:K" & sh.Cells(Rows.Count, "F").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 15)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(CStr(liste(i, 5))) Then
        n = n + 1
        z.Add (CStr(liste(i, 5))), n
        myarr(n, 2) = liste(i, 5)
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(CStr(liste(i, 5))), Month(liste(i, 1)) + 3) = myarr(z.Item(CStr(liste(i, 5))), _
        Month(liste(i, 1)) + 1) + liste(i, 10)
Next i
Range("A2").Resize(n, 15) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub
 
Son düzenleme:
Vergi numarasına göre yapttım.:cool:

Kod:
Option Base 1
Sub faturalar_59()
Dim i As Long, z As Object, liste(), n As Double
Dim sh As Worksheet, myarr()
Sheets("Sonuc").Select
Set sh = Sheets("varolan")
Range("A2:O" & Rows.Count).ClearContents
Application.ScreenUpdating = False
liste = sh.Range("B2:K" & sh.Cells(Rows.Count, "F").End(xlUp).Row).Value
ReDim myarr(1 To UBound(liste), 1 To 15)
Set z = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For i = 1 To UBound(liste)
    If Not z.exists(CStr(liste(i, 5))) Then
        n = n + 1
        z.Add (CStr(liste(i, 5))), n
        myarr(n, 2) = liste(i, 5)
        myarr(n, 1) = liste(i, 4)
    End If
    myarr(z.Item(CStr(liste(i, 5))), Month(liste(i, 1)) + 3) = myarr(z.Item(CStr(liste(i, 5))), _
        Month(liste(i, 1)) + 1) + liste(i, 10)
Next i
Range("A2").Resize(n, 15) = myarr
Application.ScreenUpdating = True
MsgBox "BİTTİ"
End Sub

run time eror hatası verdi eski kodu silip bunu kopyaladım doğru değil mi? :giggle:
Birde eski kodda gelen kdv tutarları hatalıydı o tutarların nerden geldiğini anlamadım normalde bir firmanın tüm yıldaki kdv tutarlarını ay ay vermesini istiyordum ama sizin attığınız dosyada gelen tutarlar çok farklıydı.
 
KDV toplamlarını hesaplıyor.
Ekli dosyayı deneyiniz.:cool:

Link aşağıdadır.:cool:

DOSYAYI INDIR
.
 

Ekli dosyalar

Son düzenleme:
Geri
Üst