ל-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).

הנוסחאות הן:

המשך קריאה »

© 2012 LookUp - פתרונות Excel והדרכה מתקדמת Suffusion WordPress theme by Sayontan Sinha