Retur Datum för slutet av månaden - Excel-tips

Innehållsförteckning

Tony skrev med en fråga som ser enkel ut men kräver en ganska komplicerad formel:

Jag kör excel 97 och jag vill att några av de datumformerade cellerna i kolumn 'K' ska returnera ett datum som är slutet av månaden när jag anger en dag i den månaden i 'G'. Jag har provat EMONTH från en tidig version av Excel men har inte fått det att fungera i den här versionen.

Det finns några sätt att lösa många problem i Excel. Jag är säker på att någon kommer på något enklare, men just nu kommer denna formel att tänka på:

=DATE(YEAR(E1),1+MONTH(E1),1)-1

Funktionen DATE () accepterar i allmänhet tre argument: Ett år, en månad och en dag. Så den 13 december 2001 kunde antas som =DATE(2001,12,13).

Datumfunktionen är också ganska förlåtande. Om du anger ett ogiltigt antal månader, till exempel 13, kommer det att ge rätt datum. =DATE(2001,13,1)kommer att vara den 1 januari 2002. Detta gör det till en utmärkt funktion när du behöver lägga till eller subtrahera det aktuella datumet.

För att lösa detta problem är det lättare att hitta den första dagen i nästa månad och sedan subtrahera en dag. Detta är lättare eftersom vi vet att dagdelen av den första nästa månad alltid är 1. Om du försökte hitta den sista dagen i denna månad måste du kontrollera skottår osv. - det skulle i allmänhet vara ett röra.

Om du har ett datum i E1 kommer YEAR (E1) att returnera årets del av datumet. Månad (E1) +1 returnerar månadens del av datumet och förflyttar det till nästa månad. Det sista argumentet, 1 väljer den första dagen i nästa månad. Slutligen subtraherar jag en från det datumet för att konvertera 1/1/2002 till 31/12/2001.

Uppdatering

Tack till Steve H. för detta out-of-the-box svar. Det är ovanligt att överväga "0: e" i en månad, men det fungerar!

=DATE(YEAR(E1),1+MONTH(E1),0)

Intressanta artiklar...