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

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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

Katılım
1 Nisan 2010
Mesajlar
45
Excel Vers. ve Dili
tr
Altın Üyelik Bitiş Tarihi
30-09-2021
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
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Satır etiketleri olarak önce Vergi No sonra Satıcı adı olarak belirlerseniz bir nebze olsun satır sayısını azaltabilirsiniz.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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

Katılım
19 Haziran 2017
Mesajlar
216
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
Var olan dosyanın içine yaptım. Olmasını istediğin sayfaya uyarlama yapabilirsin.
 

Ekli dosyalar

Katılım
19 Haziran 2017
Mesajlar
216
Excel Vers. ve Dili
365
Altın Üyelik Bitiş Tarihi
05-04-2024
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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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

Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
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)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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:
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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.
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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 :)
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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.
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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:
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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....
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
ü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:

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
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ı.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
KDV toplamlarını hesaplıyor.
Ekli dosyayı deneyiniz.:cool:

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

DOSYAYI INDIR
.
 

Ekli dosyalar

Son düzenleme:
Üst