Yılda Kaç Farklı Ayda Fatura Kesilmiş

Katılım
16 Eylül 2011
Mesajlar
26
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
26.10.2020
Yıllık alım listesinde x firmasından kaç farklı ayda fatura var. Bulmam mümkün mü?

A sütununda firma isimleri
b Sütununda firmanın kestiği faturaların tarihleri var.
C sütununa da; x firmasının o yılın kaç farklı ayında faturası var onu yazmalıyım.Örneğin x firmasının ocak ayında 10, şubatta 4, martta 15, aralıkta 10 faturası var; ben c sütununa 4 yazdırmak istiyorum. Çünkü yılın 4 farklı ayında faturası var.
Toplam fatura sayısını (tüm yıldaki) özet tabloda fatura numarasını saydırarak bulabiliyorum. Ama kaç farklı ayda faturası var onu bulmak istiyorum.

Bu nasıl yapılır. Yardımcı olabilir misiniz ? Makro vs. yapamıyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki formülü dener misiniz?

Kod:
=TOPLA.ÇARPIM((A2:A1000=A2)*(AY(B2:B1000)=AY(B2))*(YIL(B2:B1000)=YIL(B2)))
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Aranacak firma sayısı sabit bir tane mi yoksa
A sütunundaki firmaları aşağıya doğru yazarak mı gelecek.

. . .
 
Katılım
16 Eylül 2011
Mesajlar
26
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
26.10.2020
Aşağıdaki formülü dener misiniz?

Kod:
=TOPLA.ÇARPIM((A2:A1000=A2)*(AY(B2:B1000)=AY(B2))*(YIL(B2:B1000)=YIL(B2)))
A 03.04.2013 1
A 06.06.2013 1
A 13.07.2013 1
A 10.10.2013 1
A 24.12.2013 1
B 12.01.2013 6
B 16.01.2013 5
B 16.01.2013 4
B 18.01.2013 3
B 29.01.2013 2
B 29.01.2013 1


İlki firma ismi, ikincisi fatura tarihi 1 yazanlarda formülün sonucu:
İlgili ayda kaç tane faturası var onu yazmış galiba. Çünkü
A firmasının o yılda 5 farklı ayda faturası ama her ay 1 tane faturası olduğundan karşısına 1 yazılmış, Aynı şekilde B Firmasının ocak ayında 6 faturası var. Ama B firmasının ilgili yılda sadece ocak ayında faturası var.
:(
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sorunuzu şimdi anladım, daha doğrusu önce de anlamıştım ama çözümümün yanlış olduğunu şimdi anladım. Maalesef bu sorunu çözemeyeceğim sanıyorum.
 
Katılım
16 Eylül 2011
Mesajlar
26
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
26.10.2020
Sorunuzu şimdi anladım, daha doğrusu önce de anlamıştım ama çözümümün yanlış olduğunu şimdi anladım. Maalesef bu sorunu çözemeyeceğim sanıyorum.
Ay formülü ile faturaların kesildiği ayları c sütununa yazıdırıp, sonra bunlar bul ve değiştir ile (1 yerine ocak, 2 yerine şubat vs.) yazdırıyorum.
Alt toplamı firma ünvanı (a sütunu) her değiştiğinde (C sütunu) dönemleri say dediğimde de olmuyor
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
İstediğiniz sonucu da gösteren örnek bir dosya ekleyebilir misiniz.

Özet tablo ile çok rahat yapılabilir.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
A 03.04.2013 1
A 06.06.2013 1
A 13.07.2013 1
A 10.10.2013 1
A 24.12.2013 1
B 12.01.2013 6
B 16.01.2013 5
B 16.01.2013 4
B 18.01.2013 3
B 29.01.2013 2
B 29.01.2013 1


İlki firma ismi, ikincisi fatura tarihi 1 yazanlarda formülün sonucu:
İlgili ayda kaç tane faturası var onu yazmış galiba. Çünkü
A firmasının o yılda 5 farklı ayda faturası ama her ay 1 tane faturası olduğundan karşısına 1 yazılmış, Aynı şekilde B Firmasının ocak ayında 6 faturası var. Ama B firmasının ilgili yılda sadece ocak ayında faturası var.
:(
. . .

Tarihler arasında boş satır yoksa şu kodları deneyiniz.

Kod:
Sub KOD()
    Application.ScreenUpdating = False
    
    son = Cells(Rows.Count, "A").End(3).Row
    If WorksheetFunction.CountIf(Range("B1:B" & son), "") <> 0 Then
        MsgBox "Boş Satır Var", vbCritical
        Exit Sub
    End If
    
    Range("D:E").ClearContents
    Sat = 1
    For i = 1 To son
        If WorksheetFunction.CountIf(Range("A1:A" & i), Cells(i, "A")) = 1 Then
            
            Cells(Sat, "D") = Cells(i, "A")
            adr = Cells(i, "A").Address
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""January""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""February""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""March""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""April""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""May""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""June""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""July""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""August""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""September""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""October""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""November""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""December""))") <> 0 Then say = say + 1
            
            Cells(Sat, "E") = say
            say = Empty
            Sat = Sat + 1
        End If
    Next i
    Application.ScreenUpdating = True
    MsgBox " B i t t i "
End Sub
. . .
 
Son düzenleme:
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Merhabalar,
Yardımcı sütun kullanarak alternatif;
Adımları izleyiniz.

  • B sütununa tıklayıp yeni bir sütun açın,
  • Açılan sütuna ilgili formülü girip verileriniz kadar aşağıya doğru çekiniz,
  • A2 hücresine;
  • Kod:
    =METNEÇEVİR(C2;"AAAA")
  • D2 hücresine firma ismini yazınız,
Sonuç almak için;
Kod:
=BAĞ_DEĞ_SAY(EĞER(EĞER(KAÇINCI(A2:A10&B2:B10;A2:A10&B2:B10;0)=
  SATIR(A2:A10)-1;B2:B10)=D2;SATIR(B2:B10)))
[COLOR="Blue"]Formül dizi formülüdür.CTRL + SHİFT + ENTER ile tamamlayınız.[/COLOR]

Not
: Verileriniz 2. satırdan başladığı düşünülmüştür. Formül on satıra göre ayarlanmıştır.

Daxe Syán
 
Son düzenleme:
Katılım
16 Eylül 2011
Mesajlar
26
Excel Vers. ve Dili
Microsoft Office 2016
Altın Üyelik Bitiş Tarihi
26.10.2020
. . .

Tarihler arasında boş satır yoksa şu kodları deneyiniz.

Kod:
Sub KOD()
    Application.ScreenUpdating = False
    
    son = Cells(Rows.Count, "A").End(3).Row
    If WorksheetFunction.CountIf(Range("B1:B" & son), "") <> 0 Then
        MsgBox "Boş Satır Var", vbCritical
        Exit Sub
    End If
    
    Range("D:E").ClearContents
    Sat = 1
    For i = 1 To son
        If WorksheetFunction.CountIf(Range("A1:A" & i), Cells(i, "A")) = 1 Then
            
            Cells(Sat, "D") = Cells(i, "A")
            adr = Cells(i, "A").Address
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""January""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""February""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""March""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""April""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""May""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""June""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""July""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""August""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""September""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""October""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""November""))") <> 0 Then say = say + 1
            If Evaluate("=SUMPRODUCT((A1:A" & son & "=" & adr & ")*(TEXT(B1:B" & son & ",""mmmm"")=""December""))") <> 0 Then say = say + 1
            
            Cells(Sat, "E") = say
            say = Empty
            Sat = Sat + 1
        End If
    Next i
    Application.ScreenUpdating = True
    MsgBox " B i t t i "
End Sub
. . .
Sadece mayıs ayında faturası olan firmaların karşısını boş bıraktı, ayrıca hiç 12 (yılın tüm aylarında faturası olan firmalar olduğu halde) çıkmadı.
Neyi yanlış yapmış olabilirim.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

9 nolu mesajımdaki kodlar ile işlem sonucu şu şekilde.

Ekran Görüntüsü:



. . .
 
Üst