השאלות כאן הן מאוד מאתגרותאשמח לעזרה ליצירת תחשיב תשלומים עבור מנוי ספציפי (מתאריך X עד תאריך Y) כולל חלקי חודשים
האתגר הוא שכל חודש התעריף הוא שונה
יצרתי עמודה של חודשים {DD/YYYY} (A:A) + עמודה נוספת של סכום לחודש זה (B:B) + עמודה נוספת סך התשלום למנוי ספציפי (C:C)
איזה נוסחה תעזור לי ?
א. [הרעיון שאמור להיות - אם תאריך X קטן מסוף חודש של תא (A1) & אם תאריך Y גדול מתחילת חודש של תא (A1)]
ב. [ספירת כמות הימים - מתארך X עד תאריך Y - בחודש זה]
צפה בקובץ המצורף 1456119
להשגת פיתרון מתאים עמלתי זמן רב,וברוך ה' הפיתרון הושג.
לכל מי שמעונין בצלילה הרפתקנית בים האקסל והפונקציות.אני אסביר בקצרה על "כל הטוב" שיש לפנינו.ובכן:
בעמודה c ישנה רשימת חודשים בפורמט תאריך (כמובן)
בעמודה e ישנם תעריפים משתנים (זהו מקור האתגר פה).כל חודש עם תעריף אחר.
עמודה a-נוספה והיא מציגה את היום הראשון באותו חודש.על ידי פונקציית eomonth
עמודה b-נוספה ובה יוצג היום האחרון של אותו החודש
בעמודה d מחושב ההפרש בין עמודה a לעמודה b .זהו למעשה מספר הימים באותו חודש.על ידי פונקציית datedif
היה צורך בהוספת +1 בגלל אופן החישוב בפונקצייה של יום ההתחלה /הסיום..עיין ערך סוגיית "עד ועד בכלל או עד ולא עד בכלל וכו...(אולי בהזדמנות ארחיב על כל סוגיא זו בהקשר לאקסל כמובן...)
עמודות p.q סודרו מחדש עם גרירת ערך תא העליון (עם קיבוע שורה)
לצורך פונקציית xlookup שתכף נראה..
עמודות f.g.h.i.נוספו לצורך חישוב הימים בין תחילת/סוף חודש המנוי
אסביר את הפונקציות בתא f2 ,אך הרעיון המרכזי בכל עמודות אלו זהה.
פונקציית הxlookup "רואה" את הערך בעמודה c (החודש לחישוב-בעזרת פונקציית monts ששואבת רק את נתון "חודש" מהתאריך).ומחפשת אותו בעמודה p .
אם הוא נמצא מחושב הפרש הימים בין תחילת המנוי לבין תחילת אותו חודש(בעזרת פונקציית days).זה אומר לנו כמה ימים עברו מתחילת אותו חודש של המנוי.עד כניסת תאריך המנוי לתוקף.ואידך זיל גמור...
אם נרצה לומר לאקסל לשלוף את הפרש הימים בחודש מסוים של תחילת/סוף המנוי.זו בעיה מורכבת..
השאלה הגדולה היא האם לשלוף את מספר הימים לפני תחילת המנוי או אחרי?
לאחר הרבה מחשבה וניסויים זו הפונקצייה שעשיתי.יש בה הרבה לוגיקה וענין..תהנו...
זה פשוט עובד...ברוך ה'.
מה שנותר הוא לחלק את תעריף החודש במספר ימי החודש.התוצאה היא תעריף יומי.ואז להכפיל במספר הימים לחיוב.
וזו אכן הנוסחא בעמודה l
בעמודה l הסכום שמתקבל הוא על פי חודש.
הסיכום הסופי לתשלום בשורה תחתונה.הוא בעמודה m עם פונקציית sum (על סכומי עמודה l) קטנטנה אך מסכמת את כל המסע עד כה...
עד כאן.ובקצרה...
וזהו כבר צילום מסך של כל הגיליון על כל חישוביו
זו ההזדמנות לך ידידי היקר @ישראלי1
על האתגר,על ההזדמנות להחכים ,להעמיק,ובעיקר להוציא מעצמי מן הכח אל הפועל...
כמעט שנואשתי מלמצוא פיתרון..אך ברוך ה' -בסוף התעלומה נפתרה...
יגעת ומצאת תאמין!...כמו שאמרו חז"ל
ובריך רחמנא דסייען!
הגיליון מצורף כאן כמובן...
בהצלחה רבה לך!
קבצים מצורפים
נערך לאחרונה ב: