• DİKKAT

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

Listeye ait her üründen 1 tane gelmesi

Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhaba, bir listemiz var ve bu listede aynı üründen yüzlerce ya da onlarca olabilir bir tane de olabilir rapor sayfasında bu listeden her üründen bir tane getirmesini sağlayabilir miyiz?
 

Ekli dosyalar

Merhaba,

? yerine,

Kod:
=TOPLA.ÇARPIM(--(EĞERSAY(KAYDIR(liste!A3;;;SATIR(1:100));liste!$A$3:$A$16)=1))
 
Teşekkür ederim çok sağ olun formülü çoğaltmak istediğim de yok hatası alıyorum nedeni nedir.

şu an için sadece 16 hücreyi kapsıyor sanırım bu orenk normalde binlerce olacağından nasıl yapmamız gerekiyor
 
bu arada sayısını değil ürün adlarından her üründen bir tane gelmesi gerekiyor :(
 
Soru işaretinin yerine,

Dizi formülüdür,

Kod:
=EĞERHATA(İNDİS(liste!$A$2:$A$100;KÜÇÜK(EĞER(EĞERSAY(KAYDIR(liste!$A$3;;;SATIR($1:$100));liste!$A$3:$A$100)=1;SATIR($3:$100));SATIR(A1)));"")
 
Sayın Kuvari,
Aynı üründen birer tanesi olmasını istiyorum rapor sayfasında, bu sadece 1 ürünü çekiyor.
Orda listede 14 tane ürün var her birinden birer tane olacak şekilde olmasından söz ediyorum. Sanırım her seferinde yanlış anlatıyorum.
Formülü aşağı doğru uyguladığımda ilk hücre hariç gerisinden gelen yok.

Lütfen bu şekilde uyarlamayı da yapabilir miyiz. örnek dosya eklerseniz de ayrıca memnun olurum.


İyi çalışmalar dilerim saygılarımla.
 
Sayın Kuvari,
Aynı üründen birer tanesi olmasını istiyorum rapor sayfasında, bu sadece 1 ürünü çekiyor.
Orda listede 14 tane ürün var her birinden birer tane olacak şekilde olmasından söz ediyorum. Sanırım her seferinde yanlış anlatıyorum.
Formülü aşağı doğru uyguladığımda ilk hücre hariç gerisinden gelen yok.

Lütfen bu şekilde uyarlamayı da yapabilir miyiz. örnek dosya eklerseniz de ayrıca memnun olurum.


İyi çalışmalar dilerim saygılarımla.

Dizi formülüdür. CTRL+SHIFT+ENTER ile kapatmayı unutmayın.
 
İsterseniz makro ile daha hızlı yapılabilir yada gelişmiş süzgeçten benzersizleri alabilirsiniz. Çalışmanızı tam olarak bilmiyorum ama özet tablo'da çözüm olabilir.
 
Kodu kullanın.

Kod:
Sub al()
Dim s1, s2 As Worksheet

Set s1 = Sheets("liste")
Set s2 = Sheets("rapor")

x = 3

son = s1.Cells(Rows.Count, "a").End(3).Row

For i = 3 To son

If WorksheetFunction.CountIf(s1.Range("a3:a" & i), s1.Cells(i, "a")) = 1 Then

s2.Cells(x, "b") = s1.Cells(i, "a")

x = x + 1

End If

Next

End Sub
 
Alternatif,

Kod:
Sub aktar()
Dim d As Object, a(), sat As Long, i As Long
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("liste")
Set s2 = Sheets("rapor")
Application.ScreenUpdating = False
sat = s1.Range("A" & Rows.Count).End(xlUp).Row
Set d = CreateObject("Scripting.Dictionary")
    a = s1.Range("A3:A" & sat).Value
    For i = 1 To UBound(a)
        If a(i, 1) <> "" Then
            d(a(i, 1)) = ""
        End If
    Next i
s2.Range("A3:A" & Rows.Count).ClearContents
s2.Range("A3:A" & d.Count + 2) = Application.Transpose(d.keys)
Set d = Nothing
Application.ScreenUpdating = True
MsgBox "Bitti"
End Sub
 
Geri
Üst