Beräkning av Sista Dagen i en vecka Antal

October 8

Du vet säkert att du kan använda VECKONR funktionen att returnera veckonummer i ett år för ett givet datum. Vad händer om du vill göra det omvända-att bestämma den sista dagen i en viss vecka om allt du har är veckonumret i år? Till exempel, om du skulle specificera vecka 37, vill du räkna ut datumet för den sista dagen i just den veckan.

Det finns ingen inbyggd funktion för att räkna ut önskat datum, men det finns ett antal sätt som du kan närma sig problemet och räkna ut det. I dessa exempel kommer vi att anta att året är i cell A1 och önskat veckonummer är i cell B1.

Den första metoden är att beräkna den första dagen av den önskade år, lägga sju dagar för varje vecka, och sedan subtrahera veckodag numret för den första dagen på året.

= DATUM (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1))

Denna formel returnerar ett datum som alltid representerar den sista dagen i veckan, om veckan slutar på en lördag. Om du vill att veckan till slut på en annan dag i veckan då formeln blir mer komplex. Om du vill att veckan till slut på en söndag, då behöver du bara lägga till 1 till formeln:

= DATUM (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1

Tillämpa samma logik, kanske du tror att du skulle kunna räkna ut veckor slutar på fredag ​​genom att helt enkelt subtrahera 1 från formel. Detta är inte fallet eftersom du använder i början av året som din bas. Om du subtraherar 1, du stöter på problemet där 1 januari oavsett år är en lördag; Om du subtraherar 1 du inte sluta med den första fredagen i år men i stället sluta med den 31 december föregående år. För att beräkna i veckor som slutar på fredag ​​du behöver en mycket mer komplex formel:

= DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) +
((6-WEEKDAY (DATE (A1,1,1)) <0) * 7) +1) + ((B1-1) * 7)

Eftersom några år har 52 veckor och en del har 53-igen beroende på om veckor slutet på fredag, lördag eller söndag-det är en bra idé att ändra formlerna så att de kontrollerar om det datum som return är inom samma år att du analyserar. Om du inte kontrollera detta, då formlerna som hittills kommer gärna tillbaka datum för vecka 73, vecka 89, eller vecka 123 av ett visst år-de helt enkelt justera datum i rätt framtida år.

Här är formeln för veckor som slutar på fredag:

= IF (ÅR (DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) +
((6-WEEKDAY (DATE (A1,1,1)) <0) * 7) +1) + ((B1-1) * 7)) = A1,
DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) + ((6-WEEKDAY (DATE (
A1,1,1))

Om datumet beräknas inte under samma år som det som anges i cell A1, då formeln returnerar ingenting. Här är formeln för veckor som slutar på lördag:

= IF (ÅR (DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1))) = A1,
DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)), "")

Slutligen, här är formeln för veckor som slutar på söndag:

= IF (ÅR (DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1) = A1,
DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1, "")

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (6750) 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: Beräkning av Sista dagen i en vecka nummer.