• DİKKAT

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

Excel max 0 olan hücre sayısı için formül

Katılım
22 Kasım 2013
Mesajlar
17
Excel Vers. ve Dili
2010 İngilizce
Merhaba,

Ekteki tabloda 0 olan hücreler o gün teslimat yapılmayacağı anlamına geliyor.
Burada her satır peş peşe 0 olan gün sayısını formülle yazdırmam gerekiyor.
Örneğin altta cuma cumartesi ve pazar günü Max 3 gün teslimat yapılamıyor.

PT SL ÇR PR CM CT PZ Maximum Teslimat yapılmayan gün
2 0 0 2 0 0 0

Max 0 olan gün sayısı için nasıl bir formül yazabilirim.

Teşekkürler,
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Örneğinizde 5 tane 0 değeri var. Siz; ardışık en fazla 0 değerini mi bulmak istiyorsunuz?
 
Merhabalar,

Sorunuzu cevapları aşağıdaki gibi mi olacak?
PT SL ÇR PR CM CT PZ
2 0 0 2 0 0 0 = Max 3
0 0 0 0 0 0 0 = Max 7
0 3 0 0 0 0 0 = Max5

Satırda art arda gelen 0'ların max'ını mı istiyosunuz? Sorunuzun olarak anlaşılmadığını düşünüyorum.
 
Merhaba,
Sorunu tam anlatamamış olabilirim.
Ardışık en fazla 0 değerini bulmak istiyorum.
Satırda ard arda gelen max 0 değerini bulmak istiyorum.

Ancak Pazar gününden sonra pazartesi gününe de 0 devam ediyor ise de sayılacak.
0 3 0 0 0 0 0 = Max5 değil Max 6 olmalı

Teşekkürler,
 
Merhaba,

0 3 0 0 0 0 0 = 6 ise
0 0 0 0 0 0 0 = Bu dizi de 8 olmalı.

Bu yüzden Pazar, Pazartesi devam sayılması bana pek mantıklı gelmedi.

.
 
Satırda ard arda gelen max 0 değerini bulmak

Merhaba,

Ekteki tabloda 0 olan hücreler o gün teslimat yapılmayacağı anlamına geliyor.
Satırda ard arda gelen max 0 değerini bulmak istiyorum.

Örneğin altta cuma cumartesi ve pazar günü Max 3 gün teslimat yapılamıyor.
PT SL ÇR PR CM CT PZ
2 0 0 2 0 0 0

Örneğin Pazar gününden sonra pazartesi gününe de 0 devam ediyor ise de sayılacak.
PT SL ÇR PR CM CT PZ
0 3 0 0 0 0 0 = Max 6 olmalı

Teşekkürler,
 
hepsi sıfır olanları zaten tablodan çıkartmam gerekir.
Haklısınız onları dikkate almayın..
 
Sizin mantığa göre ben 8 olarak saydırayım, isterseniz siz tablodan çıkartırsınız.

Dizi formülüdür.

Kod:
=MAK(SIKLIK(EĞER(ALTTOPLAM(9;KAYDIR(A2;;MOD(SÜTUN(A2:H2)-1;7)))=0;SÜTUN(A2:H2))
 ;EĞER(ALTTOPLAM(9;KAYDIR(A2;;MOD(SÜTUN(A2:H2)-1;7)))<>0;SÜTUN(A2:H2))))

MAK ~ MAX
SIKLIK ~ FREQUENCY
EĞER ~ IF
ALTTOPLAM ~ SUBTOTAL
KAYDIR ~ OFFSET
MOD ~ MOD
SÜTUN ~ COLUMN

.
 
Ömer Bey Merhaba,

Yardımınız için teşekkürler ancak;

formulu koydum ingilizceye çevirdim ancak formul çalışmadı. Hata verdi.
Siz benim gönderdiğim tablo ile geri dönüş yapabilir misiniz..

Çok teşekkürler,
 
Son düzenleme:
Dizi formülüne çevirdiniz mi?

Formülü hücreye yazdıktan sonra entera basmadan ctrl+shift+enter tuş kombinasyonu ile girişini tamamlamanız gerekir. Bu işlemden sonra formülün başına ve sonuna { } ayıraçları otomatik eklenecektir.

.
 
Ömer Bey'în müsadesiyle...

J2 hücresine bu formülü girin; =MAK(H2:H3720) ve makroyu çalıştırın.
En fazla ardışık 0 sayısı 35 görünüyor. Yani Maksimum 5 hafta üst üste teslimat yapılmamış. (Bunu ben değil kodlar söylüyor. :) )

Kodlar bunu yapar: Maksimum sayıyı bulur ve maksimum sayınn toplamını veren hücreleri kopyalayıp H4 hücresine yapıştırır...


Makro ile alternatif;

Kod:
Sub Git_Ara_Bul_Getir()
    Dim i As Integer, a As Integer, c As Integer, say As Byte, bul As Range
    Range("H2:H65536").ClearContents
    Range("J4:Q20").Clear
    For i = 2 To Range("A65536").End(3).Row
        For a = 1 To 7
            If Cells(i, a) <> 0 Then
                say = Empty
                    Else
                Cells(i, "h") = say
                say = say + 1
                If Cells(i, 1) = 0 Then
                    Cells(i, "h") = say
                End If
                
            End If
        Next a
    Next i
    Set bul = Columns("H").Find(Range("J2").Value, , , 1)
    If Not bul Is Nothing Then
        For c = bul.Row To bul.Row - 5 Step -1
            If Cells(c, "h") <> 0 Then
                Range("A" & bul.Row & ":H" & c).Copy Range("J4")
            End If
        Next c
    End If
    Columns.AutoFit
    say = Empty: a = Empty: i = Empty: c = Empty: Set bul = Nothing
End Sub
 
Sizin mantığa göre ben 8 olarak saydırayım, isterseniz siz tablodan çıkartırsınız.

Dizi formülüdür.

Kod:
=MAK(SIKLIK(EĞER(ALTTOPLAM(9;KAYDIR(A2;;MOD(SÜTUN(A2:H2)-1;7)))=0;SÜTUN(A2:H2))
 ;EĞER(ALTTOPLAM(9;KAYDIR(A2;;MOD(SÜTUN(A2:H2)-1;7)))<>0;SÜTUN(A2:H2))))

MAK ~ MAX
SIKLIK ~ FREQUENCY
EĞER ~ IF
ALTTOPLAM ~ SUBTOTAL
KAYDIR ~ OFFSET
MOD ~ MOD
SÜTUN ~ COLUMN

.

Ömer Bey Teşekkürler,
Formülü yazdım ingilizceye çevirdim ancak hata veriyor..
Nerede yanlış yapmış olabilirim?
Ekteki tabloya işleyip dönüş yapmanız mümkün mü?

Teşekkürler,
 
Ömer Bey,
Şimdi oldu çok teşekkür ederim..

İyi Çalışmalar,
 
Geri
Üst