יום חמישי, 26 בנובמבר 2020

אקסל - איך עוקפים Nested IF בחישוב תאריכים


אקסל - איך עוקפים Nested IF בחישוב תאריכים

יש לכם טבלת תאריכים ובטבלה 2 עמודות: תאריך הזמנה ותאריך קבלה

אתם רוצים שבימים א-ד – תאריך הקבלה יהיה זהה לתאריך ההזמנה,

אבל בשאר הימים – תאריך הקבלה יהיה יום ראשון הקרוב.

במחשבה ראשונה, יש לנו כאן Nested IF:
אם יום בשבוע <
5, אז תאריך קבלה = תאריך הזמנה,

אם יום בשבוע = 5, אז תאריך קבלה = תאריך הזמנה + 3

אם יום בשבוע = 6, אז תאריך קבלה = תאריך הזמנה + 2

אם יום בשבוע = 7, אז תאריך קבלה = תאריך הזמנה + 1

 


תמונה מס.1 : פתרון עם Nested IF


IF(WEEKDAY(B2)<5,B2,IF(WEEKDAY(B2)=5,B2+3,IF(WEEKDAY(B2)=6,B2+2,B2+1)))


אבל במחשבה שניה, מצאתי פתרון יותר אלגנטי:

שלושת הימים: חמישי, שישי ושבת – צריכים להפוך ליום ראשון:

ליום חמישי – צריך להוסיף 3 ימים,

ליום שישי – צריך להוסיף 2 ימים,

ליום שבת – צריך להוסיף 1 ימים.

התוצאה בכל המקרים תהיה, בעצם, 8.

כלומר, יש קשר בין היום בשבוע ובין מס. הימים שיש להוסיף לו כדי להגיע ליום ראשון והקשר הוא: 8-weekday

 

והנוסחא הסופית:

=IF(WEEKDAY(B2)<5,B2,B2+8-WEEKDAY(B2))

 

תמונה מס.2 : פתרון יותר פשוט

            



 




אין תגובות:

פרסום תגובה