Excel formülü: Ayın geçen hafta içi gününü alın -

İçindekiler

Genel formül

=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)

Özet

Bir ayın son gününü (yani son Cumartesi, son Cuma, son Pazartesi, vb.) Almak için EOMONTH ve WEEKDAY işlevlerine dayalı bir formül kullanabilirsiniz.

Gösterilen örnekte, D5'teki formül şöyledir:

=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)

Açıklama

İlk olarak, bu formül, belirli bir tarihten sonraki * sonraki ayın ilk gününü belirler. Bunu, ayın son gününü almak için EOMONTH kullanarak ve ardından bir gün ekleyerek yapar:

=EOMONTH(B5,0)+1

Daha sonra formül, bir önceki ayın (yani orijinal tarihin ayının) en son istenen hafta içi gününe "geri dönmek" için gereken gün sayısını hesaplar:

WEEKDAY(EOMONTH(B5,0)+1-C5)

WEEKDAY içinde, EOMONTH sonraki ayın ilk gününü almak için tekrar kullanılır. Bu tarihten itibaren, haftanın günü değeri çıkarılır ve sonuç, geri alınacak gün sayısını döndüren WEEKDAY alanına beslenir.

Son olarak, geri alma günleri, sonraki ayın ilk gününden çıkarılır ve bu da nihai sonucu verir.

Hafta içi diğer günler

Sayfanın üst kısmındaki formülün genel formunda haftanın günleri "dow" olarak kısaltılmıştır. Bu, haftanın farklı bir gününü almak için değiştirilebilen 1 (Pazar) ile 7 (Cumartesi) arasında bir sayıdır. Örneğin, bir ayın son Perşembe gününü elde etmek için dow'u 5'e ayarlayın.

Not: Bu formülle Barry Houdini'nin MrExcel forumundaki bir yanıtla karşılaştım.

İyi bağlantılar

Barry Houdini'nin MrExcel forumundaki yanıtı

Ilginç makaleler...