Eksik Sayıları Bulma Hakkında Yardım.

Katılım
6 Mart 2008
Mesajlar
282
Excel Vers. ve Dili
2021 Türkçe
Öncelikle herkeze iyi çalışmlar.
elimde A1 den A6000 Hücresine kadar 1 den başlayan bir sayı listesi var.
fakat listede bazı sayılar eksik.
bu nedenle listedeki son sayı 6000 den büyük.
benim bulmak istediğim eksik olan sayıların hangi sayılar olduğu.
yardımcı olabilirseniz sevinirim.

örnek
a1 = 1
a2 = 2
a3 = 4
a4 = 6

ben eksik olan 3 ve 4 sayılarının bana liste olarak verilmesini istiyorum
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodlar B2'den itibaren eksik sayıları listeler:

Kod:
Sub eksikler()
sonsatır = Cells(Rows.Count, "A").End(3).Row

sonsayı = WorksheetFunction.Max(Range("A1:A" & sonsatır))
[B1] = "EKSİK SAYILAR"
For i = 1 To sonsayı
If WorksheetFunction.CountIf(Range("A1:A" & sonsatır), i) = 0 Then
yeni = Cells(Rows.Count, "B").End(3).Row + 1
Cells(yeni, "B") = i
End If
Next
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki şekilde kullanırsanız mükerrerleri de C sütununa listeler:

Kod:
Sub eksikler()
sonsatır = Cells(Rows.Count, "A").End(3).Row

sonsayı = WorksheetFunction.Max(Range("A1:A" & sonsatır))
[B1] = "EKSİK SAYILAR"
[C1] = "MÜKERRER SAYILAR"

For i = 1 To sonsayı
If WorksheetFunction.CountIf(Range("A1:A" & sonsatır), i) = 0 Then
yenie = Cells(Rows.Count, "B").End(3).Row + 1
Cells(yenie, "B") = i
End If
If WorksheetFunction.CountIf(Range("A1:A" & sonsatır), i) > 1 Then
yenim = Cells(Rows.Count, "C").End(3).Row + 1
Cells(yenim, "C") = i
End If

Next
End Sub
 
Katılım
24 Mart 2015
Mesajlar
8
Excel Vers. ve Dili
Office2016 Türkçe
Sub eksikler() sonsatır = Cells(Rows.Count, "A").End(3).Row sonsayı = WorksheetFunction.Max(Range("A1:A" & sonsatır)) [B1] = "EKSİK SAYILAR" [C1] = "MÜKERRER SAYILAR" For i = 1 To sonsayı If WorksheetFunction.CountIf(Range("A1:A" & sonsatır), i) = 0 Then yenie = Cells(Rows.Count, "B").End(3).Row + 1 Cells(yenie, "B") = i End If If WorksheetFunction.CountIf(Range("A1:A" & sonsatır), i) > 1 Then yenim = Cells(Rows.Count, "C").End(3).Row + 1 Cells(yenim, "C") = i End If Next End Sub
Yusuf bey kodunuz çok işime yaradı teşekkür ederim, peki bu koda eksik ve mükerrer olan sayıların olduğu satır biçim boyacısı ile farklı bir renkte boyayıp gösterme imkanı var mı ? Ayrıca koşullu biçimlendirme ile Formül olan eğer formülünün eğer yanlışşsa değer yani 2. kısım gelirse sonuç olarak satırını nasıl renklendirebilirim ? Şimdiden vermiş olduğunuz emek için teşekkür ederim. Saygılar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,254
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Görseldeki gibi yapabilirsiniz.

224009
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Formülle alternatif; (dizi formül girişi Ctrl+Shft+Enter)

İngilizce Excel için;

Kod:
=IFERROR(SMALL(IF(COUNTIF($A$1:$A$4;ROW($1:$6))=0;ROW($1:$6);"");ROW(A1));"")

Türkçe Excel için;

Kod:
=EĞERHATA(KÜÇÜK(EĞER(EĞERSAY($A$1:$A$4;SATIR($1:$6))=0;SATIR($1:$6);"");SATIR(A1));"")



.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
5 Yıl önceki bir konuya 5. mesajda cevap yazılınca, ben de ilk mesajı sanki yeni konuymuş gibi anlayıp cevap verdim....

Dikkatsizlik işte ....

.
 
Üst