„Excel“ formulė: gaukite paskutinę mėnesio savaitės dieną

Turinys

Bendroji formulė

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

Santrauka

Norėdami gauti paskutinę mėnesio savaitės dieną (ty paskutinį šeštadienį, paskutinį penktadienį, paskutinį pirmadienį ir kt.), Galite naudoti formulę, pagrįstą EOMONTH ir WEEKDAY funkcijomis.

Parodytame pavyzdyje formulė D5 yra:

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

Paaiškinimas

Pirma, ši formulė nustato kito mėnesio pirmą dieną * po * nurodytos datos. Tai darau naudodamas EOMONTH, norėdamas gauti paskutinę mėnesio dieną, tada pridėdamas vieną dieną:

=EOMONTH(B5,0)+1

Tada formulė apskaičiuoja dienų, reikalingų „grįžti“ į paskutinę prašomą savaitės dieną ankstesnį mėnesį (ty pradinės datos mėnesį), skaičių:

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

WEEKDAY viduje EOMONTH vėl naudojamas norint gauti pirmąją kito mėnesio dieną. Nuo šios datos atimama savaitės dienos vertė, o rezultatas perduodamas į WEEKDAY, kuri pateikia dienų skaičių atgal.

Galiausiai atgalinės dienos atimamos iš kito mėnesio pirmos dienos, o tai duoda galutinį rezultatą.

Kitomis darbo dienomis

Puslapio viršuje pateikiant bendrą formulę, savaitės diena sutrumpinta „dow“. Tai skaičius nuo 1 (sekmadienis) iki 7 (šeštadienis), kurį galima pakeisti, norint gauti kitą savaitės dieną. Pavyzdžiui, norėdami gauti paskutinį mėnesio ketvirtadienį, nustatykite dow į 5.

Pastaba: Į šią formulę patekau atsakydamas į „MrExcel“ forumą, kurį pateikė Barry Houdini.

Geri ryšiai

Barry Houdini atsakymas „MrExcel“ forume

Įdomios straipsniai...