Fastställande månadsnamn för ett datumintervall

September 22

Anita har ett kalkylblad med över 10.000 rader. Varje rad representerar ett individuellt avtal. Varje kontrakt har ett startdatum (kolumn A) och ett slutdatum (kolumn B). Hon behöver ett sätt att lista i kolumnerna C, D, E, etc. de enskilda månader som omfattas av avtalet. Till exempel, om kolumn A innehåller 1 juli 2009 och kolumn B innehåller 30 september 2009 behöver hon kolumn C för att innehålla 9 juli, kolumn D innehåller 9 augusti, och kolumn E för att innehålla september 09. Oavsett formler används behov att rymma kontrakt längder som kan vara helt annorlunda.

Det finns flera vägar att gå om en sådan uppgift. Det är möjligt att använda vissa mellanliggande kolumner som anger saker som startmånad och antal månader av varje kontrakt, men det visar sig att sådana mellan kolumner är inte nödvändigt. Till exempel, om man antar att dina avtal börjar i rad 2, kan du placera följande formel i cell C2:

= TEXT (A2, "mmm yy")

Sedan, med början i cell D2 kan du placera denna formel:

= IF (DATUM (ÅR ($ A2), MÅNAD ($ A2) + KOLUMNER ($ D2: D2),
DAG ($ A2))> $ B2, "", TEXT (DATUM (ÅR ($ A2), MÅNAD ($ A2)
+ KOLUMNER ($ D2: D2), DAG ($ A2)), "mmm yy"))

Detta är en formel, och den använder positionen av cellerna som innehåller formeln, tillsammans med utgångsdatum kontrakt, för att beräkna, i princip, månaden av förskjutna från det startmånad. Formeln kan kopieras åt höger (kolumnerna E, F, G, etc.) för så långt det är nödvändigt för att visa alla månader och år.

En nackdel med formeln är att om kontraktet slutdatum är tidigare i månaden än hittills kontraktet start, då den senaste månaden visas inte. Således, om kontraktet börjar den 12 juni 2012 och den slutar den 5 feb 2013, då den senaste månaden (februari) kommer inte att visas av formeln. Du kan istället använda följande formel i cell C2 och kopiera den till höger så långt som behövs:

= IF (DATUM (ÅR ($ A2), MÅNAD ($ A2) + KOLUMN () - 2,0)
> DATUM (ÅR ($ A2), MÅNAD ($ B2) +1,0), "", TEXT (DATE
(ÅR ($ A2), MÅNAD ($ A2) + KOLUMN () - 2,0), "mmm yy"))

Denna formel bygger också på kolumnerna där den finns, att använda dem för att beräkna en offset från kontraktet startdatum. Formeln kommer att fungera bra, oavsett förhållandet mellan kontrakts start- och slutdatum.

Om du inte vill förlita sig på kolumn positionering, det finns en annan metod som du kan ta. Placera följande formel i cell C2:

= (A2)

Då, i cell D2 plats följande formel:

= IF ($ B2> C2, EOMONTH (C2,1), "")

Kopiera formeln i D2 till höger så många celler som nödvändiga, och sedan formatera alla dessa celler (inklusive C2 och D2) som datum som visar bara månad och år. Formeln kommer att titta på B2 (kontraktet slutdatum) för att se om den är större än C2. Om det är, då formeln returnerar serienummer sista dagen i nästa månad i serie. Om det inte är, då en tom ("") returneras.

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (5406) ​​gäller för Microsoft Excel 97, 2000, 2002, och 2003. Du kan hitta en version av detta tips för menyfliksområdet i Excel (Excel 2007 och senare) här: Fastställande månadsnamn för ett datumintervall.