• DİKKAT

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

bir faturanın x. paletinde kaç referans (farklı) vardır?

  • Konbuyu başlatan Konbuyu başlatan gurkann
  • Başlangıç tarihi Başlangıç tarihi
Katılım
3 Şubat 2006
Mesajlar
61
Excel Vers. ve Dili
Office 2003 pro. edition - TR
öncelikle aynı konuyu yine açmaktan dolayı üzgünüm, ama olayı daha basitleştirdim, ekteki dosyayı inceleyip nacizane yardım edebilirseniz sevinirim.
herkese selamlar, saygılar
 
Ne istediğiniz tam anlaşılmıyor.

Biraz daha açabilir misiniz?
 
tabiki...
15995 nolu faturanın 1. paletinde 6266dd ve 75f olmak üzere 2 farklı referans var.
bir diğer örnek ... 150788 nolu faturanın 1 nolu paletinde 699zz ve 440aa olmak üzere 2 farklı referans var.

ben bu rakamları (2 vb) nasıl saydırabilirim?
 
Bir de şuna bakınız lütfen ...
 
Döngüler konusunda çok fazla bilgim yok, bende yeni yeni geliştirmeye çalışıyorum, yine de birşeyler yapmaya çalıştım. Mantık hatası yaptığım yerler olmuşsa, üstadlar düzeltsin lütfen.

Sub nn()
[a1:b500].Sort Key1:=[a1], Key2:=[B1]
Sayfa2.[a:b].ClearContents
son = Application.CountA(Columns(1))

For i = 1 To son
say1 = WorksheetFunction.CountIf(Columns(1), Cells(i, 1))
say2 = WorksheetFunction.CountIf(Sayfa2.Columns(1), Cells(i, 1))
If say1 >= 1 And say2 = 0 Then
g = g + 1
Sayfa2.Cells(g, 1) = Cells(i, 1)
End If
Next
For j = 1 To son
If Cells(j, 1) <> Cells(j + 1, 1) Then
son = j
c = 0
k = k + 1
For t = 1 To son
If Cells(t, 2) <> Cells(t + 1, 2) Then
c = c + 1
End If
Next
End If
On Error Resume Next
Sayfa2.Cells(k, 2) = c
Next
For z = 1 To k

If Sayfa2.Cells(k - z + 1, 1) = [a1] Then Exit Sub
If Sayfa2.Cells(k - z + 1, 2) - Sayfa2.Cells(k - z, 2) = 0 Then
Sayfa2.Cells(k - z + 1, 2) = 1
Else
Sayfa2.Cells(k - z + 1, 2) = Sayfa2.Cells(k - z + 1, 2) - Sayfa2.Cells(k - z, 2)
End If
Next

End Sub
 
sn. yurttaş,

açıkçası çok etkileyici bir çözüm, geliştirmek çok isterim ama bi şey anlamadım.
bu arada sayın yurttaş harikulade bir değersiniz bu forum için, boşuna fonksiyon moderatörü olunmuyor demek ki... teşekkürler

bu arada bunu komple sütuna uygulamak isterdim, bi öneriniz olursa mutlu olurum, olmazsa da canınız sağolsun.

iyi akşamlar
 
sn. hamitcan,
bu çözüm de elbette güzeldir ama benm makro- vb bilgim maalesef yok.
 
Merhaba,

İstediğinizi kullanıcı tanımlı fonksiyonla halledelim.

VB penceresinde herhangi bir modulün içine aşağıdaki kodu kopyalayın.

Kod:
Function tekrar_sayma(Ilk_Alan As Range, Ikinci_Alan As Range, Toplam_Alan As Range) As Integer
  Dim dizi()
  On Error Resume Next
  kontur = 0
  
  For i = 1 To Ilk_Alan.Count
        If Ilk_Alan(i, 1) = ActiveCell.Offset(0, -3) And Ikinci_Alan(i, 1) = ActiveCell.Offset(0, -2) Then
            If WorksheetFunction.Match(Toplam_Alan(i, 1), dizi, 0) = Empty Then
                ReDim Preserve dizi(kontur)
                dizi(kontur) = Toplam_Alan(i, 1)
                kontur = kontur + 1
            End If
        End If
  Next i
  ReDim dizi(0)
  tekrar_sayma = kontur
End Function


Kullanımı:
Kod:
=tekrar_sayma($A$3:$A$34;$B$3:$B$34;$C$3:$C$34)
 
Sayın ripek hocamın yapmış olduğu fonksiyonu deneyin isterseniz


=TOPLA(1*(SIKLIK(EĞER(A2:A11=F2;KAÇINCI(B2:B11;B2:B11;0));SATIR(1:100))>0))

formülün içinde iken ctrl+shift+enter tuşlarına basınız

formül {} köşeli parantez içine alınacaktır
aşağıdaki şekilde olduğu gibi
{=TOPLA(1*(SIKLIK(EĞER(A2:A11=F2;KAÇINCI(B2:B11;B2:B11;0));SATIR(1:100))>0))}
 
Geri
Üst