משתמשי גרסאות 97 – 2003 של אקסל שהתקינו את התוספת Analysis ToolPak, או משתמשי XL2007, יכולים ליהנות מהפונקציה NETWORKDAYS. איתה אפשר לחשב את ימי העבודה בין שני תאריכים, כולל התחשבות בחגים. השימוש בפונקציה פשוט: מגדירים תאריכי התחלה וסוף וטווח בגיליון שמחזיק את התאריכים המוגדרים כחגים. הפונקציה תחשב את מספר הימים בין התאריכים, לא כולל סופי שבוע וחגים. הבעיה עם הפונקציה הזאת היא שההגדרה של "סוף שבוע" לא ניתנת לשינוי: שבת וראשון. המשתמש הישראלי ירצה בד"כ להגדיר את ששי ושבת כסוף שבוע, אבל אקסל לא מאפשר זאת.

לדוגמה, בספטמבר 2009 ישנם שני חגים, ב-20 וב-28. אם נחשב את מספר ימי עבודה עם NETWORKDAYS נקבל 21. אם נספר את ימי העבודה, כאשר ששי ושבת הם ימי מנוחה ויום ראשון הינו יום עבודה, נקבל 20.

 

heb022

 

בתא A2 הכנסנו את תאריך ההתחלה ובתא B2 סוף החודש; בטווח A5:A6 רשמנו את תאריכי החגם של החודש. בתא C2 הכנסנו את הנוסחה 

=NETWORKDAYS(A2,B2,A5:A6) 

 

אפשר לפתור את הבעיה עם נוסחת המערך (array formula) שפיתח Chip Pearson:

 

=IF(OR(A2<=0,B2<=0,A2>B2,ISNUMBER(A2)=FALSE,ISNUMBER(B2)=FALSE),NA(),SUM(IF(ISERROR(MATCH(WEEKDAY(ROW(INDIRECT(A2&":"&B2))),מנוחה,0)),IF(ISERROR(MATCH(ROW(INDIRECT(A2&":"&B2)),חגים,0)),1,0)),0))

 

על מנת להשתמש בנוסחה הזאת הגדרנו את טווח החגים תחת השם (Name) "חגים" ובנוסף הגדרנו טווח נוסף "מנוחה" הכולל את המספר של היום או ימים של השבוע שהם ימי מנוחה (במקרה שלנו ששי = 6 ושבת = 7)

heb032

 

פונקציות מערך יש להכניס לתא בלחיצה בוזמנית על Ctrl+Shift+Enter

 

 

בפוסט בנושא חישובי זמן ב-Excel הזכרנו את הפונקציה DATEDIF. פונקציה זו שימושית מאוד וקיימת ב-Excel מהגרסה 5/95. מסיבה כלשהי רק בגרסה 2002 של Excel יש תיעוד של הפונקציה. בשאר הגרסאות יש התעלמות מוחלטת ורק מעטים יודעים בכלל על קיומה.

DATEDIF מחשב את מרווח הזמן בין שני תאריכים ומציג אותו במספר אופנים. תחביר הפונקציה הוא

=DATEDIF(מרווח, תאריך שני ,תאריך ראשון)

התאריך הראשון חייב להיות מוקדם יותר מהשני, אחרת מקבלים שגיאה #VALUE. המרווח (interval) הוא אות או שילוב של שתי אותיות המסמלות את סוג המרווח שרוצים להציג:

m: מספר החודשים בין שני התאריכים

d: מספר הימים בין שני התאריכים

y: מספר השנים בין שני התאריכים

ym: מספר החודשים מעבר למספר השלם של שנים בין שני תאריכים

yd: מספר הימים מעבר למספר השלם של שנים בין שני תאריכים

md: מספר החודשים והימים מעבר למספר השלם של שנים בין שני תאריכים

 

התוצאה של DATEDIF היא תמיד מספר שלם. להלן מספר דוגמאות לאפשרויות DATEDIF

hebdatedif01

בתא C5 מחשבים את השנים שעברו בין שני התאריכים. DATEDIF מחשבת רק את השנים בין שני התאריכים ומתעלם מהחודשיים ומה-25 ימים הנוספים שבמרווח הזמן.

בתא C6 הפונקציה DATEDIF מחשב את מספר החודשים השלמים בין שני התאריכים ומתעלם מה-25 ימים הנוספים (שהם לא חודש שלם).

באותו אופן, בתא C7 הפונקציה DATEDIF מחשב את מספר הימים המדויק.

בתא C8 משתמשים בפרמטר ym כדי לחשב את מספר החודשים שלא נלקחו בחשבון בנוסחה שבתא C5.

 

אפשר לשלב מספר פונקציות DATEDIF בנוסחה אחד על מנת לחשב את הגיל של מישהו בצורה מדויקת.

בתא B3 חישבנו את הגיל נכון ל10/05/2009 של בן אדם שנולד ב-16/02/2001

hebdatedif02

כדי לחשב את הגיל שילבנו בנוסחה אחת שלוש פונקציות DATEDIF עם הטקסט המתאים באמצעות האופרטור "&".

אפשר ליצור נוסחה שתחשב את הגיל (או כל מרווח של זמן) הנוכחי באופן אוטומטי אם נחליף את הארגומנט B2 בנוסחה בפונקציה TODAY.

 

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