Çö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 @teyadih .

30 ve 11'e tamamlama işleminizle ilgili bir fikrim yok, amacını bilemiyorum.

Bir tarihe (bugün) belli sayıda ay/gün/yıl ekleyip, sonuçta oluşan tarihin ay/gün/yıl bilgilerini elde etmek istiyorsanız.
TOPLA, MOD, TAMSAYI gibi işlemlere gerek olmadan doğrudan TARİH hesaplatıp, oluşan tarihin gün/ay/yıl kısımlarını
elde edebilirsiniz.
Örneğin 6'ncı satırdaki veriler için hedef tarih =TARİH(YIL(BUGÜN());AY(BUGÜN())+F5;GÜN(BUGÜN())+E5) şeklinde bulunabilir.

O halde yukarıdaki TARİH formülünü;
-- =GÜN(....) içerisine yazarak gün kısmını,
-- =AY(.....) içerisine alarak ay kısmını,
-- =YIL(......) içerisine alarak yıl kısmını
bulabilirsiniz.
.
 
Merhaba sayın Baran. Toplam süredeki yıl süresini terfide değerlendiriyoruz. Artan gün süresini 30 a ayı ise 11 e tamamlatarak çıkan süreyi bugünkü tarihin üzerine ekleyerek bundan sonraki terfi tarihi buluyoruz.
 
Merhaba sayın Baran. Toplam süredeki yıl süresini terfide değerlendiriyoruz. Artan gün süresini 30 a ayı ise 11 e tamamlatarak çıkan süreyi bugünkü tarihin üzerine ekleyerek bundan sonraki terfi tarihi buluyoruz.
Daha basit ve geniş perspektiften anlatırsanız amacınızı belki daha farklı bir yöntemle ve formullerle yeni bir çalışma yapabiliriz. Sanırım ayları 30 gün olarak hesaplamaktan kaynaklı bir sorun oluşuyor. Çünkü bir çok örnekte bir gün ile verdiğiniz veriler tutmuyor.
 
Elinize sağlık cicosz sağdaki ve soldaki formüller bir birinden farklı olmuş birisi 12 ile bitiyor birisi 13 ile bunun tek formülde olması gerekiyor. Ben formül üzerinden düzenlemeye gitmiştim ama şimdi formülü silip sıfırdan bir deneme yaptım oldu gibi ama tüm listeye uyguladıktan sonra olup olmadığını göreceğim sonuç olumlu olursa örnek dosyayı paylaşırım
 
Merhaba Sayın @teyadih .

Bir önceki cevabımda soruyu yanlış anlamışım demekki.

Sorun çözüldü demediğinize göre şöyle bir öneride bulunayım.

-- Eklencek gün ve ay sayısıyla ilgili bir sorun varsa mevcut formüllerin yerine
E5 hücresinde =ETARİHLİ(TARİH(G4;F4;E4);TARİH(G4+1;F4-F2;E4-G2);"MD") formülünü,​
F5 Hücresine de =ETARİHLİ(TARİH(G4;F4;E4);TARİH(G4+1;F4-F2;E4-G2);"YM") formülünü uygulayın.​
(eklenecek yıl kısmı için formül gerekmez çünkü eklenecek yıl sayısı hiçbir şekilde oluşmaz)​
-- 5'inci satırdaki SONUÇ bilgileriyle ilgili sorun varsa (yukarıdaki kısımla ilgili sorun var/yok fark etmez) sırasıyla
=GÜN(TARİH(G4+1;F4-F2;E4-G2)) , =AY(TARİH(G4+1;F4-F2;E4-G2)) ve =YIL(TARİH(G4+1;F4-F2;E4-G2)) formüllerini kullanın.​
-- Doğrudan bir sonraki terfi tarihini hesaplamak işinize yarayacaksa da =TARİH(G4+1;F4-F2;E4-G2) formülü sonuç verecektir.
-- Sadece 5'inci satırdaki AY kısmıyla ilgili formülü yeniden düzenlemek istiyorsanız;
(mevcut formül MOD işlevinin doğası gereği 0 sonucunu döndürebilecektir)
o halde mevcut MOD işlevinin devreye girişini
=EĞER((TOPLA(....)+TAMSAYI(......))<>12;MOD(......);TOPLA(....)+TAMSAYI(......)) gibi değiştirerak sonuç alabilirsiniz.

.
 
Merhaba sayın Baran. Tüm personelin bilgilerini alt alta sıraladığımda doğrudan bir sonraki terfi tarihini hesaplamak için yazdığınız tek formül çok iyi oldu. Ancak bazı tarihlerde 1 gün fazla veriyor. Üstteki ilk 4 örnekte doğru veriyor, alttaki diğer 4 örnekte ise 1 gün fazla veriyor
5.örnekte 2+12=14 olması gerekiyorken 15 veriyor, 6.örnekte 2+16=18 yerine 19. 1 günlük fark neden kaynaklanıyor olabilir acaba? Bakabilir misiniz? size zahmet
 

Ekli dosyalar

Sayın @teyadih .

Hesaplanan son tarihe ait ayın gün sayısı 31 olduğunda 1 günlük fark oluşuyor.
Dolayısıyla aşağıdaki gibi sonuç alınması lazım (TARİH işlevinin GÜN kısmına ekleme yapıldı) .
Formül 1'inci örneğe göre hazırlandı, bu alana uyguladıktan sonra kopyala-yapıştır ile diğerlerine de uygularsınız.

İlgili tarihin 28 çeken ve 29 çeken Şubat ayına denk gelmesini sağlayacak veriler üzerinden
işlemi Şubat kontrolünden geçirmekte yarar var derim.
Şubat kontrolü, 5 ve 13'üncü satırdaki GÜN kısımlarına ilişkin kontrolü de yapmanızı, dolayısıyla
4 ve 12'nci satırdaki GÜN farkı formülünün doğruluğunu kontrol imkanı sağlayacaktır.

Bu kontrolü yaptığınızda sorun yaşarsanız; olması gereken sonucu net ifade ederek iletirsiniz tekrar bakılır.

Aslına bakarsanız benim fikrim; bugüne göre verilmiş olan hizmet sürelerine göre,
bugün'den bu süreleri çıkartarak işe başlama tarihlerinin hesaplanması, işe başlama tarihinin AY ve GÜN kısmını
kullanarak da içinde bulunulan yıldaki terfi tarihinin hesaplanmasının daha doğru olacağı yönünde.
Tabi işe giriş ay ve günü, bugün tarihine göre geçmişse yıl kısmına 1 eklemek gerekir.

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

.
 
Sayın @teyadih .

Benim anladığım elinizde;
-- işe giriş tarihlerinin olmadığı,
-- sadece, başka bir kaynaktan yıl/ay/gün olarak BUGÜN tarihine göre alınan hizmet sürelerinin olduğu.

Bence çözüm için basit düşünmekte yarar varar. Buna göre;
-- İşe giriş tarihinin =TARİH(YIL(BUGÜN)-HİZMET YILI;AY(BUGÜN)-HİZMET AYI;GÜN(BUGÜN)-HİZMET GÜNÜ) şeklinde,
-- Terfi tarihinin =TARİH(YIL(İŞE GİRİŞ TARİHİ)+HİZMET YILI+1;AY(İŞE GİRİŞ TARİHİ);GÜN(İŞE GİRİŞ TARİHİ)+1) şeklinde,
-- Bir sonraki terfi tarihine kalan AY sayısının : =ETARİHLİ(BUGÜN;TERFİ TARİHİ-1;"YM") şeklinde,
-- Bir sonraki terfi tarihine kalan GÜN sayısının : =ETARİHLİ(BUGÜN;TERFİ TARİHİ-1;"MD") şeklinde,
bulunmasının yerinde olacağını düşünüyorum (yıl farkı zaten olamayacaktır).
Hizmet sürelerinin hesabında BUGÜN tarihinin dahil/hariç durumuna göre kalan ay/yıl formüllerindeki -1 kısımlarının silinmesi gerekebilir.

Yani madem işlemler TARİH işlemleridir, hesaplamalar da SAYIlar yerine TARİHler üzerinden yapılmalıdır.

Bir de ekleyeceğiniz örnek belgelerde, BUGÜN gibi OYNAK işlevler kullanmamanızda,
verilen çözüm önerileri için DOĞRU/YANLIŞ, EKSİK/FAZLA yerine OYNAK işlev dolayısıyla
durumun tam anlaşılması için "şu tarihe göre, şu nedenle şu olması gerekirken şu sonuç alınıyor"
gibi net ifadeler kullanmanızda yarar var. Çünkü eklediğiniz belge bir sonraki gün indirilip açıdığında sonuçlar değişecektir.

İyi çalışmalar dilerim.

.
 
Aslında asıl örnekte işe giriş tarihleri ile düşülecek ve eklenecek süreler var sayın Baran. Kolaylık olsun diye bu şekilde gönderdim ama dediğiniz gibi günlük değişebiliceğini düşünemedim. Örnek dosyadaki dün itibariyle yanlış gösterenler bugün ve yarin da 1 gün fazla gösterecek mi kontrol edeyim. Ona göre işe giriş tarihlerinin de olduğu örnek dosyayı paylaşırım. Teşekkür ederim
 
Sayın @teyadih .

Bence en iyisi, gerçek belgenizin özel bilgi içermeyen bir kopyasını ekleyin ve sorun yaşanan kısmı net belirtin.

Belgenizde İŞE GİRİŞ TARİHİ zaten varsa hizmet süresinin kullanılmasına da gerek olmayacaktır.
İşe giriş tarihi üzerinden bir sonraki TAM KIDEM YILInın HANGİ TARİHte tamamlanacağı ve
bu tarihe bugün itibariyle kaç ay, kac gün kaldığı bulunabilir.

İyi çalışmalar.

.
 
Bence en iyisi, gerçek belgenizin özel bilgi içermeyen bir kopyasını ekleyin ve sorun yaşanan kısmı net belirtin.
Merhaba sayın Baran nasılsınız? İş yoğunluğundan belirttiğiniz şekilde örnek dosyayı geçte olsa hazırlayıp açıklamaları da belirterek ekte gönderiyorum. Teşekkür ederim
 

Ekli dosyalar

Selamlar,
Ben de bir alternatif sunayım...
İlk dokumanınıza göre hazırlandı.

Anladığım kadarıyla, çalışma yılı da 360 gün bazında (1 ay = 30 gün) hesaplanıyor....
Ayrıca dokumanınızdaki BUGÜN tarihi de 19.08.2020..... Hesaplamalar bu tarihe ve 360 güne göre yapıldı......

Yanlış anlamış da olabilirim....

1602112251151.webp
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Üst