תמונת מקור - Leonardo AI
"וַיֹּאמֶר אֱלֹהִים אֶל אַבְרָהָם וְאַתָּה אֶת בְּרִיתִי תִשְׁמֹר אַתָּה וְזַרְעֲךָ אַחֲרֶיךָ לְדֹרֹתָם.
זֹאת בְּרִיתִי אֲשֶׁר תִּשְׁמְרוּ בֵּינִי וּבֵינֵיכֶם וּבֵין זַרְעֲךָ אַחֲרֶיךָ הִמּוֹל לָכֶם כָּל זָכָר.
וּנְמַלְתֶּם אֵת בְּשַׂר עָרְלַתְכֶם וְהָיָה לְאוֹת בְּרִית בֵּינִי וּבֵינֵיכֶם.
וּבֶן שְׁמֹנַת יָמִים יִמּוֹל לָכֶם כָּל זָכָר לְדֹרֹתֵיכֶם יְלִיד בָּיִת וּמִקְנַת כֶּסֶף מִכֹּל בֶּן נֵכָר אֲשֶׁר לֹא מִזַּרְעֲךָ הוּא.
הִמּוֹל יִמּוֹל יְלִיד בֵּיתְךָ וּמִקְנַת כַּסְפֶּךָ וְהָיְתָה בְרִיתִי בִּבְשַׂרְכֶם לִבְרִית עוֹלָם.
וְעָרֵל זָכָר אֲשֶׁר לֹא יִמּוֹל אֶת בְּשַׂר עָרְלָתוֹ וְנִכְרְתָה הַנֶּפֶשׁ הַהִוא מֵעַמֶּיהָ אֶת בְּרִיתִי הֵפַר".
(בראשית פרק י"ז פסוקים ט' - י"ד)
"וַיֹּאמֶר אֱלֹהִים אֶל אַבְרָהָם וְאַתָּה אֶת בְּרִיתִי תִשְׁמֹר אַתָּה וְזַרְעֲךָ אַחֲרֶיךָ לְדֹרֹתָם.
זֹאת בְּרִיתִי אֲשֶׁר תִּשְׁמְרוּ בֵּינִי וּבֵינֵיכֶם וּבֵין זַרְעֲךָ אַחֲרֶיךָ הִמּוֹל לָכֶם כָּל זָכָר.
וּנְמַלְתֶּם אֵת בְּשַׂר עָרְלַתְכֶם וְהָיָה לְאוֹת בְּרִית בֵּינִי וּבֵינֵיכֶם.
וּבֶן שְׁמֹנַת יָמִים יִמּוֹל לָכֶם כָּל זָכָר לְדֹרֹתֵיכֶם יְלִיד בָּיִת וּמִקְנַת כֶּסֶף מִכֹּל בֶּן נֵכָר אֲשֶׁר לֹא מִזַּרְעֲךָ הוּא.
הִמּוֹל יִמּוֹל יְלִיד בֵּיתְךָ וּמִקְנַת כַּסְפֶּךָ וְהָיְתָה בְרִיתִי בִּבְשַׂרְכֶם לִבְרִית עוֹלָם.
וְעָרֵל זָכָר אֲשֶׁר לֹא יִמּוֹל אֶת בְּשַׂר עָרְלָתוֹ וְנִכְרְתָה הַנֶּפֶשׁ הַהִוא מֵעַמֶּיהָ אֶת בְּרִיתִי הֵפַר".
(בראשית פרק י"ז פסוקים ט' - י"ד)
בּפרשתן - פרשת לך לך, הקב"ה ציווהו לאברהם אבינו ע"ה על מצוות המילה לו ולזרעו אחריו.
והנה במכילתא דרבי שמעון בר יוחאי (ספר שמות ל"א.י"ז) איתא:
"גדולה שבת שאין התינוק נימול עד שתעבור עליו שבת שנאמר ובן שמונת ימים ימול לכם".
ועיין לרבינו חיים בן עטר זיע"א בפירושו "אור החיים" על התורה (ויקרא י"ב.ג') שביאר את העניין בהקדים דברי רבותינו במדרש (דברים רבה ו'.א') "לָמָּה הַתִּינוֹק נִמּוֹל לִשְׁמוֹנָה, שֶׁקָּנָה הַקָּדוֹשׁ בָּרוּךְ הוּא רַחֲמִים עָלָיו עַד שֶׁיִּהְיֶה בּוֹ כֹּחַ, וּכְשֵׁם שֶׁרַחֲמָיו עַל הָאָדָם כָּךְ רַחֲמָיו עַל הַבְּהֵמָה שֶׁנֶּאֱמַר וּמִיּוֹם הַשְּׁמִינִי וָהָלְאָה יֵרָצֶה״.
ועל כך שואל האור החיים הקדוש - "וְצָרִיךְ לָדַעַת מִי גִּלָּה סוֹד זֶה כִּי בִּשְׁמוֹנָה יָמִים יִהְיֶה בּוֹ כֹּחַ, לֹא פָּחוֹת וְלֹא יוֹתֵר?"
ומתרץ האור החיים הקדוש - "וְנִרְאֶה כִּי כֹּחַ הָאָמוּר בְּדִבְרֵיהֶם הוּא מַה שֶׁאָמַר בַּזֹּהַר (תזריע דף מ"ד עמוד א' - אמור דף צ"א עמוד ב') שֶׁהוּא כְּדֵי שֶׁיַּעֲבֹר עָלָיו שַׁבָּת וְתַגִּיעֵהוּ נֶפֶשׁ הַחִיּוּנִית הַנִּשְׁפַּעַת בָּעוֹלָם בְּיוֹם הַשַּׁבָּת כַּיָּדוּעַ, וְאָז יִהְיֶה בֶּן קַיָּמָא, וְהוּא שֶׁאָמְרוּ זַ״ל כֹּחַ הַחִיּוּנִי.
וְתִמְצָא שֶׁאָמְרוּ זַ״ל (בראשית רבה י'.ט') שֶׁקּוֹדֶם שֶׁבָּא שַׁבָּת הָיָה הָעוֹלָם רוֹפֵף וְרוֹעֵד, כֵּיוָן שֶׁבָּא שַׁבָּת נִתְחַזֵּק וְנָח, עַד כָּאן. וְהוּא מַה שֶׁאָמְרוּ כְּדֵי שֶׁיִּהְיֶה בּוֹ כֹּחַ". עכ"ל.
דִּבְרֵי פִי חָכָם חֵן…
ובספר "פרדס יוסף" (על התורה לרבי יוסף פצנובסקי זצ"ל) הקשה על דברי רבינו האור החיים - דלפי זה היה מספיק אם מצות מילה היה ביום השביעי, דאם נולד בשבת גם כן עבר עליו חלק מיום השבת דנותן בו כח?
ואין לומר דבעינן שיעבור עליו שבת שלימה, דהרי גם כשנולד בשבת סמוך לבין השמשות גם כן מלין אותו בשבת שאחריה, אף שעדיין לא עבר עליו שבת שלימה.
ותירץ: דהתוספת שבת בשעה שמקבל הנשמה יתירה הוא הנותנת כח, ומשום כך ממתינין ח' ימים דצריך שיעבור על כל תינוק השעה של תחילת שבת. והביא ראיה ממסכת סופרים (פרק י"ז הלכה ה') דאיתא שם "בין השמשות בערב שבת מיתוספת נשמה יתירה לישראל".
ובספר "עבודת ישראל" - פרשת אמור (לרבי ישראל הופשטיין זצ"ל - המגיד מקוז'ניץ) הביא על פי דברי המדרש (ויקרא רבה כז, י) "ר' יהושע דסכנין בשם ר' לוי אמר, משל למלך שנכנס למדינה וגזר ואמר כל אכסניא שיש כאן לא יראו פני עד שיראו פני המטרונה תחלה. כך אמר הקב"ה, לא תביאו לפני קרבן עד שתעבור עליו שבת, שאין שבעה ימים בלא שבת, ואין מילה בלא שבת, הדא הוא דכתיב ומיום השמיני והלאה ירצה".
וכתב: "לפי דברי המדרש מוכרח כדעת המקובלים שבליל שבת הוא סעודתא דחקל תפוחין קדישין, והעליה למלכות והיא הנקראת המטרונה.
ולפי זה ניחא ונוכל למצא טעם למנהג העולם שעושים סעודת זכר (שלום זכר) בליל שבת קודם המילה לילד היולד. לפי הנ"ל שעיקר הכנה למילה לזכר הוא על פי סעודתא דחקל תפוחין קדישין. ולכן עושים סעודת זכר ולרמז על זה, כי על פי אותה סעודה בא שפע קודש על הזכר, להיכנס לבריתו של אברהם אבינו ע"ה"
ומעין זה כתב בשו"ת חתם סופר (חלק א' אורח חיים סימן ק"ב) וזהו לשונו שם:
"ואם נולד ביום השבת אין מלין ביומו אעפ"י שיצא עליו שבת,מכל מקום כיון שלא היה בכניסת המטרוניתא אין מלין עד שבת הבא.
ואם נולד ביום א' אין מלין בשבת הבא אעפ"י שיהיה בכניסת שבת מ"מ עדיין לא יצא עליו שבת. וצריך לומר דתלי' בכניסת ויציאת שבת. דאין לומר שיעבור עליו כ"ד שעות של שבת. זה אינו דהרי נולד בשבת סמוך ליציאת שבת מלין אותו בשחרית לשבת הבא אלא על כרחך הקפידה הוא בכניסה ויציאה דווקא זכור ושמור כידוע…"
דִּבְרֵי פִי חָכָם חֵן…
כעת, בואו ותראו איך הנ"ל קשור לאקסל ולעולמן של הפונקציות…
ובכן, לעיל ראינו ומצינו בדברי המכילתא כי כאשר נתבונן בין שני תאריכים שונים דהיינו יום לידת התינוק ויום המילה שהוא יום השמיני - תמיד יום השבת יחול באמצע.
(כאשר נולד בימים ראשון עד שישי תהא "מציאות" של שבת אחת בין תאריך הלידה למילה.
וכאשר נולד ביום שבת עצמו יש כאן שני "מופעים" של יום שבת כלומר שתי "מציאויות" של יום שבת שבהם השבת חלה לכל המחויבים במצוות בכל דיניה ואיסוריה.
ואין להקשות מלשון "עד שתעבור שבת" במכילתא דלכאורא משמע שמדובר בשבת אחת"?
דיש לומר שהכוונה בפשוטן של דברים - לא פחות משבת אחת ובאמת אין הכי נמי, ייתכן שיהיו גם 2 שבתות.
ועוד יש לומר. שאם נרצה לדקדק מבחינה רוחנית של תוספת נשמה יתירה וכו', הלשון אכן מורה על שבת אחת בלבד. כי הדבר תלוי בכניסת השבת / ויציאת שבת כמו שנתבאר לעיל בדברי החתם סופר והמגיד מקוז'ניץ זצ"ל אך ודאי וודאי שלכל אינשי דעלמא היו כאן שתי "מציאויות" של שבת שחלה עליהם לעניין כל דיניה ואיסוריה.)
ולהבדיל בין קודש לחול...אם נרצה לספור באקסל / שיטס כמה פעמים "מופיע" יום מסוים בשבוע (יום ראשון / יום שני וכו') בין שני תאריכים שונים...(וכשאנו מדברים על "מופע" של יום בשבוע זה כולל הן את תאריך "ההתחלה" והן את תאריך "הסיום")
האם זה אפשרי?
התשובה היא כן ובהחלט!
ולמען הסר ספק זאת למודעי, כי ודאי לא נתכוונתי שניתן לחשב באמצעות האקסל/שיטס בלבד את מועד יום המילה לעניין הלכתא…
"השפה" של האקסל/שיטס בכל הקשור לחישובי תאריכים היא התאריך הלועזי ותו לא!
ואף שניתן בעזרת "תחבולות שונות" לבצע המרה לתאריך עברי אין זה מדויק כלל לפי החישוב התורני - ההלכתי כיוון שלפי התאריך הלועזי למניינם חישוב חילופי הימים והיממות הוא בשעה 00:00 כלומר 12:00 בלילה ולפי התאריך העברי היממה מתחילה מתחילתו של לילה כידוע שנאמר "ויהי ערב ויהי בוקר יום אחד".
והאקסל/שיטס הם בבחינת "בַּעַר לֹא יֵדָע וּכְסִיל לֹא יָבִין אֶת זֹאת"...
(וּמִדֵּי דַבְּרִי בּוֹ. אזכיר כי לעיתים, ללא שימת לב מספקת תיתכן טעות כזו גם ברישום הילד שנולד "במשרד הפנים". שאם נולד בלילה לפני 00:00 יהא חישוב אוטומטי במערכת הממוחשבת של התאריך העברי באופן שגוי. דהיינו יום אחד לפני התאריך הנכון. ועל כן יש לתת את הדעת על כך בעת רישום הילד.)
וקל וחומר לענין הלכתא בשאלות היאך "לדון" את יום הלידה ומתי למול את התינוק שיש בזה פרטים הלכתיים רבים ואזכיר כמה מהם בקיצור נמרץ:
הנולד בימי החול או ביום שבת (בערב לפני צאת השבת) מהשקיעה (על פי שיטת "הגאונים") ואילך נחשב כנולד ביום הבא. לדוגמא מי שנולד ביום ראשון בערב לאחר השקיעה, יום לידתו נחשב כיום שני ויום המילה יהא ביום שני שלאחריו.
וכן מי שנולד ביום שישי בערב לאחר צאת הכוכבים נחשב שנולד בשבת ומילתו תהא בשבת הבא.
יוצא מכלל זה הנולד בזמן בין השמשות דכניסת שבת (והוא הדין דיציאת שבת כמבואר לעיל) שאין נימול בשבת אלא בראשון שלאחריו דמועד לידתו יש בה ספיקא (ספק יום ספק לילה וממילא יש ספק ביום מילתו האם נחשב שמיני או תשיעי) ולכן מילתו (שאינה נחשבת "בזמנה" בתורת וודאי) אינה דוחה שבת כמו שנפסק בשולחן ערוך (אורח חיים סימן של"א סעיף ה').
(ועיין עוד במה שכתב בספר "ערוך השולחן" - יורה דעה סימן רס"ב ס"ק י"ח על מה שפסק המחבר שם בסעיף ז' שאין דבר זה תלוי בתפילה אם התפללו מבעוד יום לא להקל ולא להחמיר.)
וכמו כן, לגבי יום המילה עצמו. דלענין הלכתא יש למול את התינוק בין נץ החמה לשקיעת החמה דווקא דמצוות המילה היא ביום דווקא ולא בלילה כידוע.
ואחרי הודיעי אתכם את כל זאת, פשוט וברור כשמש שלענין הלכתא אין לסמוך על חישובים אלו כלל וכלל. שאין לך פְּתָיּוֹת גדולה מזו וּכְדַי בִּזָּיוֹן וָקָצֶף...
וכל כוונתי בכל אלה - שיהא לפנינו סימולציה בלבד רק לשבר את אוזנינו וגם זה במקרים הלכתיים פשוטים וברורים כגון שנולד ביום רביעי (כמתואר בצילום מסך) בצהריים ונימול ברביעי שלאחריו בשעות היום.
הקונספט בשני הפתרונות הוא אותו קונספט שתקף לכל טווח תאריכים שיהא ולספירת ימי השבוע בין התאריכים עבור כל מטרה שתהא.
לפניכם צילום מסך מתוך הגיליון המצורף בלינק להלן:
בתא E4 - יש להזין את תאריך ההתחלה (משני התאריכים).
בדוגמה שלנו נבחר התאריך 1/10/2025 למניינם (ט' בתשרי התשפ"ו) שחל ביום רביעי.
ואפרופו עניין מילה - יום זה מציין את יום לידת התינוק.
בתא F4 - יש להזין את תאריך הסיום (משני התאריכים).
בדוגמה שלנו נבחר התאריך 8/10/2025 למניינם (ט"ז בתשרי התשפ"ו) שחל אף הוא ביום רביעי.
ואפרופו עניין מילה - יום זה מציין את יום מילת התינוק.
בתא G4 - יש להזין את היום בשבוע שאותו נרצה לבדוק כמה פעמים הוא "מופיע" בין שני התאריכים.
בדוגמא שלנו נבחר יום 7 כלומר יום השבת.
השאלה היא בקצרה - איך לספור (בעזרת פונקציות האקסל והשיטס) כמה פעמים מופיע יום השבת בין תאריך ההתחלה לתאריך הסיום?
פתרון 1:
זהו מבנה הפונקציות בתא G10:
קוד:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(E4&":"&F4)))=G4))
אל דאגה, אני אסביר את כל מהלך הפתרון שלב אחר שלב…
כפי שכתבתי בעבר פעמים רבות - האקסל / שיטס "פותרים" את ההחזר קרי, התוצאה הסופית בדיוק כמו בחוקי המתמטיקה שבהם יש לפתור תחילה את הסוגריים הפנימיים ביותר ואח"כ "לצאת החוצה" ולפתור את הסוגריים היותר חיצוניים וכן הלאה.
שלב 1:
אתם זוכרים היטב את פונקציית indirect הנפלאה והגאונית? נכון?
כתבתי אודותיה בהרחבה במאמר כאן.
המטרה בשלב זה היא לקבל את רשימת התאריכים (מתאריך התחלה עד תאריך הסיום - "ועד בכלל") באופן רציף ועוקב.
לשם כך אנו מזינים את המחרוזת הזו A2&":"&B2 בתוך פונקציית indirect.
כל השרשור טקסט הזה מתורגם למשהו קצת יותר קומפקטי השווה ל: A2:B2.
ובתרגום מילולי מה שכתוב פה "בטקסט הזה" הוא תאריך התחלה עד לתאריך הסיום.
וזהו הזמן להיזכר במה שכתבתי באריכות במאמר כאן שלכל תאריך ישנו "מספר סידורי".
מבחינת האקסל / שיטס כל תאריך הוא מספר. ועם מספרים אפשר לעשות הרבה דברים מעניינים למשל - מתמטיקה.
זהו בדיוק הבסיס להבנה כיצד אפשר לבצע "פעולת חיבור או חיסור" בין תאריכים…
ואם נחזור למקרה שלנו, פונקציית indirect הגאונית יודעת להמיר את הטקסט הזה לטווח דמיוני / וירטואלי לגמרי (אני מדגיש!) משורה 45931 עד לשורה 45938.
אבל רגע רגע…היכן נמצא הטווח הזה?
אז זהו זה, שהוא לא נמצא בשום גיליון ממשי…(בטח לא בגיליון המצורף בלינק להלן הנמנה פחות מ 20 שורות).
וירטואלי = לא מוחשי / לא אמיתי.
אני יודע שהסיפור הזה קשה "לעיכול" וקשה להבנה…אבל זה בדיוק הקטע "הטריקי" והגאוני שפונקציית indirect יודעת לחולל…
היא באמת פונקציה גאונית!
לאחר השלב הזה מגיעה פונקציית row "להשלמת המלאכה".
להזכירכם וכפי שהסברתי במאמר כאן ובמאמרים נוספים, פונקציית row בתפקידה הבסיסי - מחזירה את מספר השורה "האמיתי" (ולא היחסי של התא המוזן בארגומנט שבה)
אך כאן, זהו לא מקרה קלאסי אלא מקרה מאוד מעניין שבו יש לפונקציית row "עסק" עם גיליון וירטואלי.
פונקציית row מתייחסת לטווח הוירטואלי הזה (המוחזר מפונקציית indirect) ומחזירה את מספרי "השורות האמיתיים" של אותו טווח כרצף מספרים באופו סידורי ועוקב.
{45938;45937;45936;45935;45934;45933;45932;45931}
בגיליון האקסל / שיטס רצף זה מוחזר באופן אנכי כמערך.
רצף מספרים אלו = רצף "המספרים הסידוריים" שבין התאריך התחלה לתאריך הסיום.
נפלא וגאוני, נכון?
הערה קטנה לפני שנמשיך הלאה:
ישנם הבדלים דקים אך נחוצים בין מבנה הפונקציות באקסל לגוגל שיטס. בשלב זה וכן בשלב הבא יש לעטוף בגוגל שיטס את כל הפונקציות בפונקציית arrayformula.
שלב 2:
המטרה בשלב זה היא להחזיר את ימי השבוע (כלומר, יום ראשון כ-1. יום שני כ-2 וכן הלאה) כמערך אנכי מותאם לאותם מספרים סידוריים (שהם למעשה תצוגה חילופית / "תעודת הזהות" לתאריכים במבנה שאנו מכירים יותר) שהוחזרו בשלב 1.
ובכן, במאמר בלינק כאן הסברתי בהרחבה אודות פונקציית weekday.
נהדר, זו בדיוק תפקידה של פונקציה זו.
וכן, גם כאן הפונקציה מחזירה מערך אנכי מותאם של מספרים שהם למעשה המספרים של ימי השבוע (1-7).
4 = יום רביעי.
5 = יום חמישי.
6 = יום שישי.
7 = יום שבת.
1 = יום ראשון.
2 = יום שני.
3 = יום שלישי.
4 = יום רביעי.
שלב 3:
טוב. מה נותר לנו עוד לברר פה?
כמה פעמים מופיע במערך שהוחזר באמצעות פונקציית weekday המספר 7 כלומר יום השבת?
בגיליון זה בחרתי להשתמש בפונקציית sumproduct הנפלאה והגאונית (אודותיה כתבתי במאמר כאן ובמאמרים נוספים עיין שם) אם כי ניתן לפתור את השלב הזה גם בדרכים נוספות (כמו פונקציית countif וכדומה).
במקרה שלנו, הפונקציה בודקת כל ערך במערך שהוחזר האם הוא שווה לערך בתא C2 כלומר 7.
אם התנאי מתקיים הפונקציה מחזירה true כלומר נכון / אמת.
ואם התנאי לא מתקיים הפונקציה מחזירה false כלומר לא נכון / שקר.
ההחזרים מתקבלים על ידי הפונקציה כמערך אנכי מותאם.
פונקציית sumproduct "בדרך כלל" יודעת לבצע המרה אוטומטית מערכים לוגים לערכים בינארים - 1 או 0.
כאשר true = 1 . false = 0.
הדגשתי "בדרך כלל" כי לעיתים יש צורך "בדחיפה קטנה" (little push) ועזרה מצידנו לביצוע משימה זו.
"העזרה" הזו מתבצעת בפועל על ידי הוספת - - המכונה "Double Negative" וכמו שהסברתי על כך באריכות גדולה במאמר כאן עיין שם…
בנוסחה הנ"ל תוכלו להבחין בתוספת - - "לפני" פונקציית weekday .במקרה שלנו תוספת זו הכרחית עבור גיליון אקסל (ולא שיטס) דווקא.(זהו גם אחד ההבדלים בנוסחה זו בין האקסל לשיטס…על כך בדיוק התכוונתי בהערה לעיל).
וכעת, בואו חשבון…
אם נתבונן במערך שהוחזר בשלב 2 ונשאל את עצמינו. כמה פעמים מופיע שם מספר 7?
התשובה היא - פעם אחת true בערכים לוגים השווה לפעם אחת בערכים בינאריים.
1 = 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0
(כאשר הערך true מתקבל מספר פעמים, לאחר ההמרה הפונקציה מבצעת כדרכה פעולת חיבור כלפי כל המערך ומחזירה את התוצאה 2,3 וכדומה)
זהו בדיוק ההחזר שמתקבל על ידי הפונקציה בשורה תחתונה - 1.
נפלא מאוד!
פתרון 2:
זהו מבנה הפונקציות בתא G11:
קוד:
=SUMPRODUCT(--(WEEKDAY(SEQUENCE(F4-E4+1,1,E4,1))=G4))
לעיל (בפתרון 1) בשלב 1 המטרה הייתה ליצור מערך של מספרים סידוריים (שהם למעשה "מאחורי הקלעים" / "התעודת זהות" של התאריכים ) רציף מתאריך התחלה עד לתאריך הסיום.
וכפי שראיתם לעיל והוסבר בהרחבה - צמד הפונקציות indirect & row עושות זאת בהצלחה ובגאונות יוצאת מן הכלל.
אבל רגע רגע…אתם זוכרים את פונקציית sequence. נכון?
(במאמר כאן כתבתי אודותיה בהרחבה והוזכרה רבות במאמרים נוספים).
בעזרת פונקציה זו ניתן לקבל את אותה תוצאה בדיוק בצורה "יותר פשוטה" אך הדרך - גאונית לא פחות…(כי כזו פונקציית sequence, פשוט גאונית!)
נתבונן יחד במבנה הפונקציה:
בארגומנט הראשון - אנו מציינים לפונקציה כמה שורות יהא המערך.
החשבון לכך הוא תאריך הסיום פחות תאריך התחלה ועוד 1.
כאמור לעיל פעולת חיבור / חיסור בתאריכים מתרחש "מאחורי הקלעים" של האקסל / שיטס בעזרת אותם המספרים הסידוריים.
תאריך סיום = 45938
תאריך התחלה = 45931
7 = 45931 - 45938
שימו לב כאן לפעולת החיבור 1+
פעולת החיבור נועדה למנוע "פספוס" של יום אחד במערך שיתקבל (היום של תאריך התחלה או היום של תאריך הסיום. איך שתבחרו להסתכל על זה…) לאחר פעולת החיסור לעיל. תחשבו על הלוגיקה והמתמטיקה פה…
8 = 1 + 7
אכן, 8 הוא מספר השורות שאנו מעוניינים שיתקבל במערך.
בארגומנט השני - אנו מציינים לפונקציה שמערך זה יהיה בעמודה אחת בלבד.
בארגומנט השלישי - אנו אומרים לפונקציה שתחילת סדרת "המספרים הסידוריים" תתחיל מהמספר שמציין את תאריך ההתחלה.
ובמקרה שלנו מדובר על "מספר" 45931
בארגומנט הרביעי - אנו מציינים לפונקציה שהדילוג בסדרה זו בין מספר למספר יהא 1. כלומר "בדילוגים" של 1.
והתוצאה, כמו תמיד פנטסטית ומדויקת.
{45938;45937;45936;45935;45934;45933;45932;45931}
וכנ"ל בפתרון 1 מערך זה מוחזר על ידי הפונקציה כמערך אנכי.
ועד כאן לשלב 1 בפתרון 2.
שלב 2 ושלב 3 הם זהים לשלבים אלו בפתרון 1 לעיל…
והתוצאה בשורה תחתונה היא 1.
אכן, ישנו "מופע" של יום שבת אחד בין תאריך ההתחלה לתאריך הסיום.
וכן, אתם צודקים לגמרי!
יכולתי להביא לפניכם את פתרון 2 בלבד שהוא יותר מוכר ויותר "נוח לשימוש".
הסיבה שהצגתי וביארתי את פתרון 1 היא - רק להודיע לפניכם את כוחה הרב והעוצמתי של פונקציית indirect (ובמיוחד שהיא חוברת אל פונקציית row) שהתחלתי לדון בה במאמר הקודם כאן.
אז פשוט תהנו מהדרך ולא רק מהתוצאה!
(כמו שכתבתי בעבר במאמר כאן ועוד)
ועד כאן לאקסל ולעולמן של הפונקציות.
מקווה שנהניתם מהלוגיקה, מהחכמה והגאונות של פונקציית indirect…
לינק לגיליון שיטס הכולל פתרונות לספירת יום בשבוע בין שני תאריכים - מצורף כאן.
הנושאים החמים