Çözüldü İki tarih arası benzersiz verileri sayma hk.

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
Forumda araştırdım. Sutundaki benzersiz verileri sayma hususunda aşağıdaki kod doğru sonuç veriyor.
Kod:
=TOPLA.ÇARPIM((BX2:BX1000<>"")/EĞERSAY(BX2:BX1000;BX2:BX1000&""))
Bu koda iki tarih arası şart eklediğimde aşağıdaki kod ile DEĞER hatası veriyor.
Kod:
=EĞER(VE(SEL3VERI!$BU$2:$BU$1000;">="&D2;SEL3VERI!$BU$2:$BU$1000;"<="&D3);TOPLA.ÇARPIM((BX2:BX1000<>"")/EĞERSAY(BX2:BX1000;BX2:BX1000&"")))
Özet olarak bilgi
BU2:BU1000 sutununda tarihler var
BX2:BX 1000 sutununda firma adları var. (Bu sutunda benzersiz adedi verecek. yani bir firmanın adı 2 kez varsa onu 1 sayacak.
D2 hücresi ilk tarih
D3 hücresi son tarih
sorunu çözmek için yardımınızı rica ediyorum.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Kod ile de olabilir
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki şekilde deneyiniz...
Kod:
=TOPLA.ÇARPIM((BU2:BU1000>=D2)*(BU2:BU1000<=D3)*(BX2:BX1000<>"")/EĞERSAY(BX2:BX1000;BX2:BX1000&""))
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Ömer hocam
Çok teşekkür ederim.
Yarın kodu uygulayıp geri dönüş yapacağım
Selametle kalınız
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba Ömer Hocam
Kodu aşağıdaki şekilde kendime uyarladım.
Kod:
=TOPLA.ÇARPIM((SEL3VERI!BU2:BU1000>=D2)*(SEL3VERI!BU2:BU1000<=D3)*(SEL3VERI!BX2:BX1000<>"")/EĞERSAY(SEL3VERI!BX2:BX1000;SEL3VERI!BX2:BX1000&""))
Kod doğru sonuç verdi.
Teşekkür ederim. Selametle kalınız
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
merhaba,
Sheets("rapor").TextBox1.Value de sonuç aldığımız formül sonucunu nasıl gösterebilirim.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
ÖMER hocam merhaba
Formül her tarihte doğru sonuç vermiyor.
örnek dosyaya bakabilirmisiniz.
Teşekkür ederim.
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki dizi formülünü deneyiniz...
Kod:
=TOPLA((C2:C1000>=B1)*(C2:C1000<=B2)*EĞERHATA(1/ÇOKEĞERSAY(C2:C1000;">="&B1;C2:C1000;"<="&B2;F2:F1000;F2:F1000);0))
Alternatif olarak aşağıdaki kodu da deneyebilirsiniz.
C#:
Sub kod()
Dim s As Object
Dim ilk As Date, son As Date
Dim a As Long
Set s = CreateObject("Scripting.Dictionary")
ilk = Range("B1").Value
son = Range("B2").Value
For a = 2 To Cells(Rows.Count, "C").End(3).Row
    If Cells(a, "C").Value >= ilk And Cells(a, "C").Value <= son And Not IsEmpty(Cells(a, "F").Value) Then
        If Not s.Exists(Cells(a, "F").Value) Then
            s.Add Cells(a, "F").Value, 1
        End If
    End If
Next
MsgBox s.Count
End Sub
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Teşekkür ederim
 
Üst