Çözüldü Tarihteki ay ve günün yıla tamamlatılması

  • Konuyu başlatan Konuyu başlatan teyadih
  • Başlangıç tarihi Başlangıç tarihi
Çözüm
Tekrar merhaba Sayın @teyadih .

TERFİ TARİHİ:
Bence terfi tarihlerini hizmet süresine göre değil,
BG sütununun BOŞ/GEÇİYOR/GEÇMİYOR seçeneklerini de dikkate alarak, hesaplamaya esas başlangıç tarihleri bulunup,
bulunan bu tarihin ay ve gün kısmını kullanarak da terfi tarihinin bulunması gerekir.
Yani terfi tarihi ile GÜN360 işlevine dayanan hizmet süresi arasında ilişki kurulmamalıdır.

HİZMET SÜRESİ:
Terfi tarihinin hesaplanması dışında hizmet süresinin hesaplanması gerekiyorsa onun üzerinde ayrıca durmak lazım.
Kullandığınız BL sütunu (hizmet süresi) formülü; sanki belli olan hedef sayılara ulaşmak için oluşturulmuş (biraz zorlama gibi) bir formül.
Bu sütundaki sonuçların doğruluğundan emin misiniz?

GÜN360...
Sayın @52779 .

Sanırım Sayın @teyadih , son örnek belgesinde BR sütununda kullandığı formülü kısaltmaya çalışıyor.
Benim daha evvelki örnek belgeye göre (hangi örnek belgeydi emin değilim) verdiğim önerinin uygulandığı
BT sütunundaki formülde düzenleme yapılarak, BR sütunundaki sonuçları bulmayı istiyor.

Sizin önerinizi, konu sahibinin son örnek belgesine uyguladığımda; 12, 52, 103 ve 104'üncü satırlarda yine işlem tutmuyor.
Belirttiğim satırlarda bulunan sonuçlar, BT sütunundakiyle (benim önerim) aynı ve BR sütunundakinden farklı.

Ben aslında beklenen ve bulunan değerler arasındaki 1 günlük farkın kaynağıyla ilgili matematiksel ilişkiyi anlayamadım doğrusu.
Anlayamayınca da çözüm önerisinde bulunmak istemedim.

-- BL sütunundaki değerler SSK mevzuatındaki 30/360 hesaplama yöntemine göre bulunan ve harici kaynaktan alınmış sonuçlar galiba.
-- Tabi, sorun diye iletilen hususla,
AD (işe başlama tarihine göre yapılacak gün hesabına göre bulunacak değerden düşülecek gün sayısı)
AE (işe başlama tarihine göre yapılacak gün hesabına göre bulunacak değerden eklenecek gün sayısı)
arasında bir bağlantı var mıdır onu da bilemiyorum.

Sanırım biraz daha açıklamaya ihtiyaç var gibi görünüyor.


.
 
@Ömer BARAN

Kendi açımdan, Derece, Kademe ne olacak diye hiç hesaplamadım, hatta ilgilenmedim demek daha doğru olur.

Ayrıca, bugün bu konuya baktığımda 13 defa indirilmeye karşın cevapsız bir konu olarak gördüm (Sanırım sistemsel bir hata vardı).
O nedenle de bir şeyler yapabilir miyim diyerek gece başlangıcında zaman ayırdım... Mesajlara bile bakmadan cevap yazdım. Sonradan farkettim ki, konu zaten eski tarihli ve birçok da yanıt var.... Mesaja da sonradan "Alternatif" düzenlemesi ekledim....

"Ben aslında beklenen ve bulunan değerler arasındaki 1 günlük farkın kaynağıyla ilgili matematiksel ilişkiyi anlayamadım doğrusu.
Anlayamayınca da çözüm önerisinde bulunmak istemedim.
"
ifadenize karşılık olarak, yeni eklenen dosyada, önerdiğim formülü kullanarak hesapladığımda dediğiniz satırlardaki 1 günlük farkları gördüm ve anlam vermeye çalıştığımda, tam anlamlandıramadım demek yerinde olur sanırım...

Ayrıca, AD kolonu ile ilgili problem var sanıyorum...
Normalde =GÜN360(Baş_Tarihi;Bitiş_Tarihi) + AE_Değeri dediğinizde Normal sonuç veriyor. AD değerini çıkardığınızda ise farklı sonuç veriyor....

Sanırım epey uzattım konuyu...

İyi geceler sizlere....
 
Dünkü formüle, başlangıç tarihi günü 31 olanlar için bir ekleme yaptım.
Listenize göre tek bir satırda bir hata kaldı. Onun sebebini ise anlayamadım demek doğru olacaktır.
Bu demektir ki, formül şu haliyle eksik. Bazı tarih çakışmalarında 1 günlük bir hata verebilir.

Yine de dosyayı ekliyorum... İncelersiniz...

Not : Nedendir bilemiyorum ama sizin dosyayla çalışamadım. Birkaç defa Excel kilitlendi.. O nedenle de sizin verilerle ayrı bir dosya oluşturup üzerinde çalıştım...
 

Ekli dosyalar

Merhaba Sayın @teyadih .

Önce Sayın @52779 'un bu cevaptan önceki cevabına bakınız.

Aslına bakarsanız, BR sütunundaki kendi formülünüzün her hal ve taktirde doğru sonuç verip vermediğinden emin olmak lazım.
NOT: Formülünüzdeki gün ay ve yıl kısımlarını TARİH işlevi içerisinde kullanırsanız sonuçlar METİN değil TARİH olur.

Belgedeki 47 ve 52'nci satırlarındaki hesaplamayı gerek kendi kullandığınız formül, gerekse de benim ve Sayın @52779 'un
verdiği çözüm önerileri bakımından mukayese etmek kesin ve içe sinen çözüme ulaşılmasını sağlayacak yolu açabilir.
Her iki veri satırında da EKLENEN-ÇIKARTILAN gün sayısı yok, her ikisinde de işe başlama tarihi 31 çeken ayda,
her ikisindeki hizmet süresinin ay ve gün kısımları aynı ve 2 ay 8 gün.
Birinde olmasını istediğiniz terfi tarihi 31/07 iken diğerinde 01/08 şeklinde (yıl kısmının önemi yok doğal olarak).

Aşağıdaki formül, mevcut tüm veriler için sizin istediğiniz sonuçları veriyor ancak, benim içime sinmiş değil açıkçası.
Bu nedenle de; en uç durumlar için test etmek gerekir diyorum.

VBA:
You must log in to view content
(1 satır)

.
 
NOT: Formülünüzdeki gün ay ve yıl kısımlarını TARİH işlevi içerisinde kullanırsanız sonuçlar METİN değil TARİH olur.
Sayın Baran Formülleri birleştirerek tarih oluşturup birleştirdiğim için metin olarak gösteriyor sanırım. Aslında tarihe çevirmek için formülü EĞERHATA(D7+0;"") D7 yazan yere ekleyip çevirme işlemi yapıyorum ama olmuyor sanırım. Tarihe çevirme işlemini nasıl yapmalıyım.
 
Belgedeki 47 ve 52'nci satırlarındaki hesaplamayı gerek kendi kullandığınız formül, gerekse de benim ve Sayın @52779 'un
verdiği çözüm önerileri bakımından mukayese etmek kesin ve içe sinen çözüme ulaşılmasını sağlayacak yolu açabilir.
Her iki veri satırında da EKLENEN-ÇIKARTILAN gün sayısı yok, her ikisinde de işe başlama tarihi 31 çeken ayda,
her ikisindeki hizmet süresinin ay ve gün kısımları aynı ve 2 ay 8 gün.
Birinde olmasını istediğiniz terfi tarihi 31/07 iken diğerinde 01/08 şeklinde (yıl kısmının önemi yok doğal olarak).
Daha öncede belirttiğim üzere eğer görevde iken aylıksız izin almamış ise, veya memuriyet öncesi askerliği yok ise yani normal çalışma süresinden düşülen ve eklenen bir şey yoksa her sene kişinin göreve başladığı tarih terfi tarihidir. Belgedeki 47.satırdakinin başlama tarihi 01/08 olduğu için terfi tarihi de 01/08 oluyor, 52.satırdakinin başlama tarihi 31/07 olduğu için terfi tarihi de 31/07 oluyor. Bu yüzden 2 gün arasını hesaplarken gün 30 ve 31 olanlarda aynı sonucu veriyor yani 31 olanlarda +1 veriyor, Bu nedenle 31 ile başlayanlarda toplam süreye +1 koyması için formül koydum. Bu seferde 01./08 de başlayanlarla aynı rakamı veriyor. Bu içinde eğer göreve 31 inde başlamış ise MOD(TOPLA(AD4:AE4);30)<1) formülünü kullanarak düşülen ve eklenen sürelerden gün olarak bir değişiklik yapılmamış ise günü 31 olarak versin diye uyarladım formülü, Bu seferde eklenen veya düşülen süreler nedeniyle sadece ayda değişiklik olması nedeniyle 31 ile bitmeyen aylar da 31 verdi (31.09 vb.). Yani 42 ve 52.satırda toplamlar aynı olmasına rağmen başlama tarihleri farklı olduğu için terfi tarihleri de başlama tarihine göre farklı oluyor
 
........ Yani 42 ve 52.satırda toplamlar aynı olmasına rağmen başlama tarihleri farklı olduğu için terfi tarihleri de başlama tarihine göre farklı oluyor
Sayın @teyadih , bu veri satırları için yazdıklarımdaki amaç, temelde terfi tarihine yönelik değildi.
Gördüğüm sıkıntı, hizmet süresinin gün kısmının yer aldığı BO sütununa yönelik.

Biri 31.07.2020de diğeri 01.08.2020''de işe başlayan iki personelin (durumun netleşmesi bakımından yıl kısmını özellikle 2020 yazdım),
BO sütunundaki gün sayısı aynı olamaz/olmamalıdır.
Benim düşünceme göre birinin SGK açısından hizmet süresi, 1+30+30+8=69, diğerinin ise 30+30+8=68 olmalıdır değil mi ?
Bu 68 ve 69 değerlerine =GÜN360(işe başlama tarihi; hesaplama tarihi) formülüyle de ulaşılabilir.
Benzer durum, örnek belgenizin 52'nci satırnın yanısıra 103 ve 104'üncü satırlarında da mevcut.

Verdiğim, istenilen sonucun alındığı formülde içime sinmediğimi belirterek kırmızı renklendirdiğim kısımın sebebi budur aslında.

Kullandığınız formülün TARİH sonucunu vermesi için
=TARİH(formülünüzün yıl kısmı; formülünüzün ay kısmı;formülünüzün gün kısmı)
şeklinde düzenleme yapabilirsiniz.

.
 
Evet sayın Baran daha öncede açıkladığım gibi 30.07 ile 31.07 ye aynı toplamı verdiği için formüle ekleme yaptım bu seferde 31.07 ile 01.08 aynı rakamı verdi. Tekrar inceleyeceğim
 
Merhaba sayın Baran ve sayın 52779. Formülleri çocukların okul durumundan dolayı asıl belgeme uygulayamadım henüz. Asıl belgemdeki tüm satırlara denedikten sonra sonucundan bilgi vereceğim kolay gelsin
 
Merhaba formülleri asıl belgeme uygulayamadım.
Örnek dosyamdaki formüllerde sadece sayın 52779 örnek dosyasında 1 tanesi +1 fazla verdi.
Ancak asıl dosyamda her 2 formülde de 3 kişide -1 verdi. her 2 formül içinde ayrı örnek dosyada açıklama yaptım. Bayağı karışık bir formül ve bazen aklımda olanı açıklamakta zorlanıyorum. Umarım verdiğim örneklerle yardımcı olabilmişimdir. Benim bile anlatırken bezginlik gösterdiğim bir konudaki ilgi ve alakanız ile sabrınız için teşekkür ederim.
 

Ekli dosyalar

Merhaba formülleri asıl belgeme uygulayamadım.
Örnek dosyamdaki formüllerde sadece sayın 52779 örnek dosyasında 1 tanesi +1 fazla verdi.
Ancak asıl dosyamda her 2 formülde de 3 kişide -1 verdi. her 2 formül içinde ayrı örnek dosyada açıklama yaptım. Bayağı karışık bir formül ve bazen aklımda olanı açıklamakta zorlanıyorum. Umarım verdiğim örneklerle yardımcı olabilmişimdir. Benim bile anlatırken bezginlik gösterdiğim bir konudaki ilgi ve alakanız ile sabrınız için teşekkür ederim.
Selamlar,
Anlamlandıramadığımdan olsa gerek, maalesef ben işin içinden çıkamadım.
 
Tekrar merhaba Sayın @teyadih .

TERFİ TARİHİ:
Bence terfi tarihlerini hizmet süresine göre değil,
BG sütununun BOŞ/GEÇİYOR/GEÇMİYOR seçeneklerini de dikkate alarak, hesaplamaya esas başlangıç tarihleri bulunup,
bulunan bu tarihin ay ve gün kısmını kullanarak da terfi tarihinin bulunması gerekir.
Yani terfi tarihi ile GÜN360 işlevine dayanan hizmet süresi arasında ilişki kurulmamalıdır.

HİZMET SÜRESİ:
Terfi tarihinin hesaplanması dışında hizmet süresinin hesaplanması gerekiyorsa onun üzerinde ayrıca durmak lazım.
Kullandığınız BL sütunu (hizmet süresi) formülü; sanki belli olan hedef sayılara ulaşmak için oluşturulmuş (biraz zorlama gibi) bir formül.
Bu sütundaki sonuçların doğruluğundan emin misiniz?

GÜN360 işlevi, başlangıç ve/veya bitiş (BUGÜN) tarihleri ayın 31'i olduğunda bu 31'inci günleri yok sayıyor.

Örneğin;
- bir kişinin başlangıç tarihini 30/07/2020, diğer bir kişinin başlangıç tarihini de 31/07/2020 olarak yazın,
- bitiş tarihi olarak da bir kez 01/08/2020, bir kez 30/08/2020, bir kez de 31/08/2020 tarihlerini kullanın.
GÜN360 işlevini kullanarak bu iki personelin hizmet sürelerini (bitiş tarihi seçeneklerinin herbirine göre ayrı ayrı)
hesaplarsanız anlatmak istediğim daha net anlaşılacaktır.

SGK açısından hizmet süresi (prim gün sayısı) bulunacaksa (PERSONEL'ci / İK'cı arkadaşlar doğruluğunu kontrol eder);
-- başlangıç ayındaki hizmet gün sayısı için =MİN(30;SERİAY(başlangıç tarihi;0)-başlangıç tarihi+1),
-- aradaki tam aylar için 30 gün,
-- bitiş ayı için ise =MİN(30;MAK(GÜN(bitiş tarihi);(SERİAY(bitiş tarihi;0)=bitiş tarihi)*30))
şeklinde hesaplama yapılması daha doğru bence.

.
 
Çözüm
TERFİ TARİHİ:
Bence terfi tarihlerini hizmet süresine göre değil,
BG sütununun BOŞ/GEÇİYOR/GEÇMİYOR seçeneklerini de dikkate alarak, hesaplamaya esas başlangıç tarihleri bulunup,
bulunan bu tarihin ay ve gün kısmını kullanarak da terfi tarihinin bulunması gerekir.
Yani terfi tarihi ile GÜN360 işlevine dayanan hizmet süresi arasında ilişki kurulmamalıdır.
Merhaba sayın Baran. Yapılmasını istediğimi anlatmakta çok zorlandığım bir formül.
Malesef tüm hesaplamalarda yıl 360, at 30 gün olarak hesaplanıyor maalesef. BL sütunundaki süreler doğru. Asıl dosyamda yaklaşık 300 kişi için bir hata almadım.
GÜN360 işlevi, başlangıç ve/veya bitiş (BUGÜN) tarihleri ayın 31'i olduğunda bu 31'inci günleri yok sayıyor.
31 ile biten aylarda 1 gün fazla veriyor. Bu durumdan bahsetmiştim açıklamalarımda. Benzer durum şubat ayı için de geçerli. Bunun için BL sütunundaki formüle ekleme yaptım. Ancak bu seferde 31 ile sonraki ayın 1 ini aynı veriyor. Son örnek dosyada yanlış verdiğini belirttiğim 3 satır için daha açıklayıcı bir çalışma yapmaya çalışacağım.
 
Üst