ל-Excel יש מספר פונקציות לחישוב היום, השבוע, החודש או השנה שבהם חל תאריך נתון

אבל ל-Excel אין פונקציות לחישוב הרבעון או הסמסטר שבו חל תאריך נתון. על מנת לחשב את הרבעון נוכל להשתמש אחת מהנוסחאות הבאות
=ROUNDUP(MONTH(B1)/3,0)
=MATCH(MONTH(B1),{1,4,7,10})
על מנת לחשב את הסמסטר בו חל תאריך מסוים נשתמש ב:
=ROUNDUP(MONTH(B1)/6,0)
=MATCH(MONTH(B1),{1,7})

ראינו בפוסט הקודם איך לחשב את מספר השבוע עם Excel. הפונקציה WEEKNUM זמינה בגרסאות 97-2003 של Excel רק עם התוספת Analysis ToolPak מותקן. לכן המודל עלול להכשל אם התוספת אינה מותקנת בגרסאות קודמות של Excel.
כמו כן גם ה-UDF תכשל.
על מנת שנוכל להריץ את המודל גם כל גרסאות 97-2003 של Excel נבצע את השינוים הבאים:
במקום
=WEEKNUM(C2,1)
נשתמש ב:
=1+INT((C2-(DATE(YEAR(C2),1,2)-WEEKDAY(DATE(YEAR(C2),1,1))))/7)
במקום
=WEEKNUM(C2,2)
נשתמש ב:
=1+INT((C2-(DATE(YEAR(C2),1,2)-WEEKDAY(DATE(YEAR(C2),1,0))))/7)
כמו כן נשנה את הקוד של ה-UDF ל:
Public Function WeekNumber(dDate As Date, WeekType As Integer) As Integer
'by Jorge Dunkelman, LookUp
'IsoWeeknumber function attributed to Daniel Maher
Select Case WeekType
Case Is = 1
WeekNumber = 1 + Int((dDate - (DateSerial(Year(dDate), 1, 2) - Weekday(DateSerial(Year(dDate), 1, 1)))) / 7)
Case Is = 2
WeekNumber = 1 + Int((dDate - (DateSerial(Year(dDate), 1, 2) - Weekday(DateSerial(Year(dDate), 1, 0)))) / 7)
Case Is = 3
WeekNumber = IsoWeekNumber(dDate)
Case Else
WeekNumber = Int((dDate - DateSerial(Year(dDate), 1, 1)) / 7) + 1
End Select
End Function
Private Function IsoWeekNumber(d1 As Date) As Integer
' Attributed to Daniel Maher
Dim d2 As Long
d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
IsoWeekNumber = Int((d1 - d2 + Weekday(d2) + 5) / 7)
End Function
ניתן להוריד את הקובץ כאן
הערה: לגרסאות Excel 97-2003 ראה את הפוסט הזה
לשאלה איך מחשבים באיזה מספר השבוע חל תאריך מסוים אין תשובה חד משמעית. ישנן שלוש שיטות:
1 – ספירה פשוטה: השבוע הראשון מתחיל בראשון בינואר (01/01), השבוע השני ב-08/01 וכו'. כך בשנה רגילה לשבוע 53 יש יום אחד ובשנה מעוברת שני ימים.
2 – שבוע ISO: כל השבועות מתחילים ביום שני. השבוע הראשון של השנה הינו השבוע בו חל יום החמישי הראשון של השנה.
3 – ספירת שבועות עפ"י Excel: הפונקציה WEEKNUM מחשבת את מספר השבוע תמיד החל מה-01/01 כאשר השבוע השני יכול להתחיל ביום ראשון או ביום שני, לפי בחירת המשתמש.
לדוגמה, מה מספר השבוע לתאריך 01/08/2010?

אפשר לראות שלתאריך זה יש שלוש אפשרויות: שבוע 30 (לפי ISO), שבוע 31 (חישוב פשוט וגם Excel 1) ושבוע 32 (Excel 2).
הנוסחאות הן:
המשך קריאה »