• DİKKAT

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

sıfır degerlerini eleme

Barons

Altın Üye
Katılım
14 Mayıs 2005
Mesajlar
967
Excel Vers. ve Dili
Microsoft Ofis 365
Merhaba
Ekteki dosyadaki tabloda adet kolonunda sıfır değerleri var.İkinci bir tablo yapıp bu değerleri elemek istiyorum.
Yardımcı olacak arkadaşlara teşekkür ederim.
 

Ekli dosyalar

Muygun hocam elinize sağlık...süper olmuş...peki bunun ayrıca formulle yapılması mümkünmüdür?indiskaydır gibi...teşekkürler
 
Muygun hocam elinize sağlık...süper olmuş...peki bunun ayrıca formulle yapılması mümkünmüdür?indiskaydır gibi...teşekkürler

Merhaba;
Ekteki gibi olabilir.
İyi çalışmalar.
 

Ekli dosyalar

süpersiniz hocam...çok teşekkürler
 
Rabbim sizin her işinizi kolay eylesin...Gönül huzuru ve sağlık afiyet versin inşallah
 
Alternatif olarak bu kodları kullanabilirsiniz;

Kod:
[FONT="Trebuchet MS"]Sub Emre()
    Dim i%, a%
    a = 2
    For i = 2 To Range("A65536").End(3).Row
        If Cells(i, 9) <> "" Then
            Cells(i, 1).Resize(, 9).Copy
            Cells(a, "n").Resize(, 9).PasteSpecial xlPasteValues
            a = a + 1
        End If
    Next i
    a = Empty: i = Empty
End Sub[/FONT]
 
Murat hocam çok teşekkürler...elinize sağlık

Bu arada muygun hocamın yaptığı formulle çözümde indis çözümü biraz anlatsa ne güzel olurdu...indis formulunu videoda izledim ancak burada farklı bir formul yapmış gibi...satır(-1) nedir ve tablonun en sağında ek bir formulasyon yapmış.
Muygun hocam makro çözüme rakip bu formulasyonu kısaca anlatırsanız çok makbule geçecek.
teşekkürler
 
ayrıca, murat hocamın yazdığı koddada ilginçlikler var...şaka gibi..% işareti ve satırda sadece virgul kullanılmış ve çok kısa ...anlamaya çalışıyorum...biraz yardım ederseniz olacak murat hocam...
 
Murat hocam çok teşekkürler...elinize sağlık

Bu arada muygun hocamın yaptığı formulle çözümde indis çözümü biraz anlatsa ne güzel olurdu...indis formulunu videoda izledim ancak burada farklı bir formul yapmış gibi...satır(-1) nedir ve tablonun en sağında ek bir formulasyon yapmış.
Muygun hocam makro çözüme rakip bu formulasyonu kısaca anlatırsanız çok makbule geçecek.
teşekkürler

Merhaba;

Tabloda;
J2=EĞER(YADA(I2<>"";I2<>0);(A2&","&SATIR())*1;"")
Burada I2 hücresi boş yada sıfır değilse No verisine satır sayısı kesir olarak eklendi (böylece rasyonel bir büyüklük oluşturuldu ve bu formül tablo sonuna kadar sürdürüldü)

N2=EĞER(EHATALIYSA(İNDİS($A:$J;KAÇINCI(KÜÇÜK($J:$J;SATIR()-1);$J:$J;0);KAÇINCI(N$1;$A$1:J$1;0)));"";İNDİS($A:$J;KAÇINCI(KÜÇÜK($J:$J;SATIR()-1);$J:$J;0);KAÇINCI(N$1;$A$1:J$1;0)))

Gelelim Formülün açılımına; (İNDİS işlevine)
mantık olarak İNDİS(aralık;satırno;sütunno) şeklinde işlem yapar.
İNDİS($A:$J; (burada veri alacağımız matris belirlendi)
satır()-1 ile yazılan satırın 1 eksik değeri elde ediliyor (yani bu formül 2. satırda ise SATIR()-1 bize 1 değerini verir.)
KAÇINCI(KÜÇÜK($J:$J;SATIR()-1);$J:$J;0) (Burada J sütununda 1. küçük sayının satır sayısı belirlendi)
KAÇINCI(N$1;$A$1:J$1;0) (burada ise N1 hücresindeki değeri A1 ile J1 aralığında arayarak bulduğu sütun sayısını verir.)
Böylece matriste bulunan verinin nerden (satır ve sütun olarak) alınacağını belirledik. Ya Yoksa (indis bulamadığı veri için hata mesajı üretecek) için EĞER(EHATALIYSA mukayesesi devreye girecek ve hücreyi boş bırakacak.
Sonuç olarak İndis ile aranan veri varsa al getir yoksa boş bırak.
Diğer (O:V aralığı) Formüllerde de mantık aynı.

Bununla ilgili araştırma yaparsanız sitede pek çok örneğe ulaşabilirsiniz.

İyi çalışmalar.
 
ayrıca, murat hocamın yazdığı koddada ilginçlikler var...şaka gibi..% işareti ve satırda sadece virgul kullanılmış ve çok kısa ...anlamaya çalışıyorum...biraz yardım ederseniz olacak murat hocam...

Merhaba Sn. Barons,

Resimlere bakarsanız farklı değişken tanımlama yöntemlerini görebilirsiniz.

68VY7G2.png



vCgFyNm.png



Resize özelliğinde, hücre aralığını boyutlandırırken aynı satırı kopyalayacak isem; kodları hızlı yazabilmek için 1 yerine virgül koyarım.
 
muygun ve murat hocam...tekrar elinize sağlık..zahmet edip uzunca açıklama yazmışsınız..çok teşekkürler
 
Merhaba,

Bir makro da benden olsun.
Süz ile yapıldı.

Kod:
Sub Makro1()
    
    Dim i   As Long
    
    Application.ScreenUpdating = False
    Range("N:V").ClearContents
    If ActiveSheet.AutoFilterMode Then Selection.AutoFilter
    i = Cells(Rows.Count, "B").End(3).Row
    ActiveSheet.Range("$A$1:$I$" & i).AutoFilter Field:=9, Criteria1:="<>"
    Range("A1").CurrentRegion.Copy Range("N1")
    Selection.AutoFilter
    Application.ScreenUpdating = True
    
End Sub
 
Necdet hocam çok teşekkürler...mantığı burada anladım...filtre edip daha sonra N:V aralığına copy paste yapıyorsunuz...elinize sağlık
 
Geri
Üst