Excellde tatil gününün kaç gün arayla yapıldığını belirlemek

Katılım
22 Eylül 2023
Mesajlar
3
Excel Vers. ve Dili
İngilizce excell2016
Merhaba,

Ben Excell üzerinde bir personelin 6 günde bir tatil yapıp yapmadığını öğrenmek istiyorum.
Eğer 6 günde bir OFF yapmış ise Evet yazacak yapmamış ise Hayır yazacak.
Bunun için aşağıdaki gibi bir formül yazdım ama formülü bir türlü çalıştıramadım.

Örnek personel çalışma durumunu ve formülü aşağıda paylaşıyorum. Çalışma saatleri dinamik aşağıdaki gibi sabit değil. Destekleriniz için şimdiden teşekkürler.

=IF(COUNTIF(A1:R1;"OFF")=INT(COUNTIF(A1:R1;"<>OFF")/6)*6; "Evet"; "Hayır")

Personel

09:00 18:00

09:00 18:00

09:00 18:00

OFF

09:00 18:00

09:00 18:00

09:00 18:00

0,00

09:00 18:00

OFF

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

Personel

OFF

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

0,00

OFF

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

Personel

OFF

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

0,00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

09:00 18:00

OFF

09:00 18:00

 
Son düzenleme:

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Konuyla alakalı ufak bir fonksiyon yazdım fakat kullanım amacınızı tam anlamadığım için ne kadar işinize yarayacağından emin değilim.

Aşağıdaki kodları VBA kısmında yeni bir modüle yapıştırdıktan sonra, istediğiniz bir hücrede "=izin(B1 / Başlangıç Hücre; R1 / Bitiş Hücre)" olacak şekilde formülü uygulayabilirsiniz. Seçtiğiniz hücrelerin aynı satırda olması gereklidir.

Function izin(Baslangic As Range, Bitis As Range)
Dim CG, BasSut, BitSut, i As Integer

CG = 0
BasSut = Baslangic.Column
BitSut = Bitis.Column

For i = BasSut To BitSut
If Cells(Baslangic.Row, i) = "OFF" Then CG = 0
If Cells(Baslangic.Row, i) <> "OFF" Then
CG = CG + 1
If CG >= 6 Then
Izin = "Hayır"
Exit Function
End If

End If
Next i
Izin = "Evet"

End Function
 
Katılım
22 Eylül 2023
Mesajlar
3
Excel Vers. ve Dili
İngilizce excell2016
Merhaba, aslında kullanım amacım şu; bir personelin 6 günde bir mutlaka OFF yani izin kullanması gerekiyor. Hazırladığım vardiyayı vlookup ile ilgili dosyadan vardiya listesine çektiğimde hemen yan tarafında ilgili förmüller bu kurala uyup uymadığını görmek istiyorum. Bunun için şu şu an bir formül kullanıyorum ama daha basite indirerek tek bir hücre içerisinde ayarlayabilir miyim diye merak etmiştim açıkçası örnek olması için bir excell yüklemesi yapacağım ne demek istediğim belki bu şekilde daha iyi anlaşılır.
Hazırladığım formül ise şu şekilde;
Son 14 günlük kontrol ile personelin "OFF" yani izin günlerini kontrol ediyorum.
Countıf ile 6 günde bir yapılan OFF'u saydırıyorum ve bunu toplam 7 defa olacak şekilde yapıyorum. 7 hücrede de bana en az 1 sayısını vermesini bekliyorum.
Eğer bu 7 hücre içerisinde 0 olan var ise bunun için de IF formülünü kullanıyorum 0 yazdığında bana uyarı vermesini istiyorum 7 gün kuralına uyuyor ise evet uymuyor ise hayır demesini istiyorum.
Konu içerisine yükleyeceğim excell örneğinde daha net anlaşılır diye umuyorum.
 
Katılım
22 Eylül 2023
Mesajlar
3
Excel Vers. ve Dili
İngilizce excell2016
Merhaba, aslında kullanım amacım şu; bir personelin 6 günde bir mutlaka OFF yani izin kullanması gerekiyor. Hazırladığım vardiyayı vlookup ile ilgili dosyadan vardiya listesine çektiğimde hemen yan tarafında ilgili förmüller bu kurala uyup uymadığını görmek istiyorum. Bunun için şu şu an bir formül kullanıyorum ama daha basite indirerek tek bir hücre içerisinde ayarlayabilir miyim diye merak etmiştim açıkçası örnek olması için bir excell yüklemesi yapacağım ne demek istediğim belki bu şekilde daha iyi anlaşılır.
Hazırladığım formül ise şu şekilde;
Son 14 günlük kontrol ile personelin "OFF" yani izin günlerini kontrol ediyorum.
Countıf ile 6 günde bir yapılan OFF'u saydırıyorum ve bunu toplam 7 defa olacak şekilde yapıyorum. 7 hücrede de bana en az 1 sayısını vermesini bekliyorum.
Eğer bu 7 hücre içerisinde 0 olan var ise bunun için de IF formülünü kullanıyorum 0 yazdığında bana uyarı vermesini istiyorum 7 gün kuralına uyuyor ise evet uymuyor ise hayır demesini istiyorum.
Konu içerisine yükleyeceğim excell örneğinde daha net anlaşılır diye umuyorum.

Sanırım excell eklenemiyor ya da ben beceremedim yapmayı.
Yazdığım förmülleri aşağı bırakıyorum.

=COUNTIF(DB3: PI3;"off")
İlk olarak bu förmül ile son 14 gün içerisinde var olan Off yazılarını saydırıyorum. Her gün için en az 1 adet Off sayısını bulmalı.

=IF(COUNTIF(DV3:EC3;"0")>0;"Hayır";"Evet")

Daha sonra ise saydırdığım 7 günlük sayının içerisinde 0 varsa hayır demesini 0 yoksa da evet demesini istiyorum.

Yani konuyu ilk açtığımda yazdığım formülün haricinde yeni bir formül yazdım ancak bunun yerine tek bir hücre içerisindeki bir formül ile çözebilirsem ne ala çözemezsem bu şekilde devam ederim sanırım VBA çok fazla bilmediğimden VBA çalıştırmak yerine bu şekilde ilerlemek daha kolayıma geliyor açıkçası
 
Üst