תמונת שער.jpg


תמונת מקור - Leonardo AI

רבינו הרמב"ם ז"ל בספרו "היד החזקה" (ספר אהבה הלכות תפילין ומזוזה וספר תורה - פרק ז' הלכה ו') כתב וזהו לשונו:

"נזדמנה לו תיבה בת שתי אותיות לא יזרקנה בין הדפין אלא יחזיר לתחלת השיטה.

נזדמנה לו בתוך השיטה תיבה בת עשר אותיות או פחות או יתר ולא נשאר מן השיטה כדי לכתוב את כולה בתוך הדף, אם יכול לכתוב חציה בתוך הדף וחציה חוץ לדף כותב ואם לאו מניח המקום פנוי ומתחיל מתחלת השיטה".


ועיין עוד בשולחן ערוך (יורה דעה - סימן רע"ג סעיפים ג'-ד') ונושאי כליו ובספר "קול יעקב" (שם סק"יב) ודו"ק.

ובעניין זה הביא מעשה בספר הנפלא "שיחות חכמים" (עמוד 34 אות ב') לגאון החוקר רבי ראובן מרגליות זצ"ל וזהו לשונו:

"פעם אחת היו בבית אחד הגאון ר שאול בן הר"ר העשיל זצ"ל והרבה מגדולי אותו הדור דעה עמו, ונזרקה שאלה מפיהם על דברי הרמב"ם האומר - נזדמנה לו תיבה בת עשר אותיות או יותר וכו'. איפה מצינו תיבה יותר מעשר אותיות בפרשה שצריכה להיכתב לקריאה? (מלבד הכתוב ביחזקאל ט"ז מ"ז "וכתועבותיהן" וכמוה שאין צריכים לכתוב לקריאה בברכה ואין נפקא מינה להלכה).
ויבקשו ולא מצאו תיבה כזאת בשום מקום.

כששמעה הרבנית אסתר בת הגאון ר זכריה מענדיל ז"ל - אשת הג"ר שאול דבריהם, ענתה ואמרה: תיבה כזו היא במגילה (אסתר ט, ג), דכתיב בה והאחשדרפנים.
והנה מגילה צריכה להיכתב כספר תורה לקריאה בברכה". עכ"ל.

ומה שכתב רבינו הרמב"ם ז"ל "תיבה בת עשר אותיות או פחות או יתר" והעתיקו מרן בשו"ע (הנ"ל) הנה כיום אכשר דרא ובעזרת תוכנות המחשב ותחבולותיו נמצא כי הכול אמת ויציב ומשה אמת ותורתו אמת וכדלהלן:

בתורה שבכתב בלבד -
התיבה / המילה הארוכה ביותר היא "וּבְמִשְׁאֲרוֹתֶיךָ" המונה 10 אותיות והיא מתוך הפסוק בספר שמות פרק ז' פסוק כ"ח:

"וְשָׁרַץ הַיְאֹר צְפַרְדְּעִים וְעָלוּ וּבָאוּ בְּבֵיתֶךָ וּבַחֲדַר מִשְׁכָּבְךָ וְעַל מִטָּתֶךָ וּבְבֵית עֲבָדֶיךָ וּבְעַמֶּךָ וּבְתַנּוּרֶיךָ וּבְמִשְׁאֲרוֹתֶיךָ".

ופירש רבינו האבן עזרא ז"ל "ובמשארותיך – מקום הלישה". (והיינו דהוא מלשון שאור וחמץ)
וכמו שדרשו רבותינו ז"ל במדרש שמות רבה (פרשה י'. ב):
"וּבְתַנּוּרֶיךָ וּבְמִשְׁאֲרוֹתֶיךָ, כְּשֶׁהָיְתָה הַמִּצְרִית לָשָׁה אֶת הָעִסָּה וּמַסֶּקֶת אֶת הַתַּנּוּר, בָּאִין הַצְפַרְדְּעִים וְיוֹרְדִין לְתוֹךְ הָעִסָּה וְאוֹכְלִין אֶת הַבָּצֵק וְיוֹרְדִין לְתוֹךְ הַתַּנּוּר וּמְצַנְּנִין אוֹתוֹ וְנִדְבָּקוֹת בַּפַּת, שֶׁנֶּאֱמַר: וּבְתַנּוּרֶיךָ וּבְמִשְׁאֲרוֹתֶיךָ, וְאֵימָתַי עוֹנָתָהּ שֶׁל עִסָּה לְהִדָּבֵק בַּתַּנּוּר, הֱוֵי אוֹמֵר בְּשָׁעָה שֶׁהוּא מֻסָּק, מִן הַצְפַרְדְּעִים נָשְׂאוּ חֲנַנְיָה מִישָׁאֵל וַעֲזַרְיָה קַל וָחֹמֶר בְּעַצְמָן, וְיָרְדוּ לְתוֹךְ כִּבְשַׁן הָאֵשׁ".

ועיין עוד בפירושו של הרש"ר הירש ז"ל בלינק כאן.


בתנ"ך כולו - קיימות 3 תיבות הארוכות ביותר שכל אחת מהן מונה 11 אותיות.

תיבה ראשונה - "וּבְתוֹעֲבוֹתֵיהֶן" והיא מתוך הפסוק בספר יחזקאל פרק ט"ז פסוק מ"ז:

"וְלֹא בְדַרְכֵיהֶן הָלַכְתְּ וּבְתוֹעֲבוֹתֵיהֶן עשיתי [עָשִׂית] כִּמְעַט קָט וַתַּשְׁחִתִי מֵהֵן בְּכָל דְּרָכָיִךְ".

בפסוק זה יחזקאל הנביא מוכיח את עם ישראל שהרבו לחטוא יותר מהאחות "הגדולה" (והיא שומרון) ומהאחות "הקטנה" (והיא סדום) וכמו שפירשו "המצודת דוד" ועוד - "ולא וגו׳ – רצה לומר לא למדת מהן ולא הלכת בדרכיהן ולא עשית רק כשיעור תועבותיהן אשר היו בשיעור מעט וקטן למולך אבל השחת יותר מהן בכל הדרכים והעניינים"

תיבה שניה - "וְכַעֲלִילוֹתֵיכֶם" והיא מתוך הפסוק בספר יחזקאל בפרק כ' פסוק מ"ד:

"וִידַעְתֶּם כִּי אֲנִי יי בַּעֲשׂוֹתִי אִתְּכֶם לְמַעַן שְׁמִי לֹא כְדַרְכֵיכֶם הָרָעִים וְכַעֲלִילוֹתֵיכֶם הַנִּשְׁחָתוֹת בֵּית יִשְׂרָאֵל נְאֻם ה' אלוקים".

ופירש מהר"י קרא "בעשותי אתכם – טובה. למען שמי – לא בשביל מעשיכם הטובים כי אם למען שם גבורתי. למה, שלא יאמרו האומות מבלי יכולת י״י להוציאם מבינינו. לא כדרכיכם הרעים – אני אפרע מכם. וכעלילותיכם – וכמעשיכם".

תיבה שלישית - "וְהָאֲחַשְׁדַּרְפְּנִים" והיא מתוך הפסוק במגילת אסתר פרק ט' פסוק ג':

"וְכָל שָׂרֵי הַמְּדִינוֹת וְהָאֲחַשְׁדַּרְפְּנִים וְהַפַּחוֹת וְעֹשֵׂי הַמְּלָאכָה אֲשֶׁר לַמֶּלֶךְ מְנַשְּׂאִים אֶת הַיְּהוּדִים כִּי נָפַל פַּחַד מָרְדֳּכַי עֲלֵיהֶם".

ופירש הרלב"ג ז"ל (בפרק ג'.י"ב) "אחשדרפני המלך – הם שרים גדולים ממונים מהמלך על דבר הנהגת המלכות לחלקים גדולים ממנו." והיא מילה בפרסית כמו שפירש האבן עזרא (שם).

כעת, בואו ותראו איך כל הנ"ל קשור לאקסל ולעולמן של הפונקציות…

ובכן, לעיל ראינו מספר דוגמאות של תיבות הארוכות ביותר בפסוק ובתנ"ך בכלל.

ולהבדיל בין קודש לחול…כאשר קיימת לפנינו עמודה באקסל / שיטס עם ערכים שונים (כלומר טקסטים שונים) ואנו רוצים שהאקסל / שיטס יחזיר לנו את המילה הארוכה ביותר בעמודה זו (כלומר, בטווח הזה).

וכן / או כאשר בתא מסוים באקסל / שיטס כתובה מחרוזת מילים באורך שונה ואנו רוצים שהאקסל / שיטס יחזיר לפנינו את המילה הארוכה ביותר בתא.

האם זה אפשרי?

האם זה בר ביצוע?


התשובה היא - כן ובהחלט!

לפניכם צילום מסך (מתוך הגיליון המצורף בלינק להלן) ובו 2 פתרונות עבור 2 הדוגמאות שהוצגו בשאלה הנ"ל.

וברשותכם, אני אסביר את שלבי הפתרון בדוגמה 1 (כאשר רשימת המילים מרוכזת בתא אחד ואנו מעוניינים לחשב מהי המילה הארוכה ביותר בתא). כל שלבי הפתרון בדוגמה 2 זהים לשלבי הפתרון בדוגמה 1 מלבד שלב 1 בדוגמה 1 שניתן לדלג עליו (כי פשוט אין צורך בפעולת פיצול הטקסט בתא, הערכים מפוצלים במערך אנכי…).

תמונה גיליון ראשי.png


שלב 1:

בשלב זה יש להזין בתא את רשימת המילים / מחרוזת טקסט.
במקרה שלנו הוזנו המילים "אברהם יצחק יעקב" בתא B3.

שלב 2:

זהו מבנה הפונקציות בתא C3:

קוד:
=TRANSPOSE(SPLIT(B3," "))

אתם מכירים את פונקציית split (בגוגל שיטס, באקסל - המקבילה שלה היא פונקציית textsplit). נכון?
הזכרתי אותה פעמים רבות במאמריי הקודמים.

בקצרה - פונקציה זו מפצלת את הטקסט שהוזן כהפניה לתא בארגומנט הראשון שבה לפי "סימן זיהוי" שהוזן בארגומנט השני שבה.

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

ההחזר כאן הוא ערכים מפוצלים במערך אופקי. לשם הנוחות והמחשת השלבים הוספתי את פונקציית transpose שהופכת את המערך - מאופקי לאנכי.

שלב 3:

זהו מבנה הפונקציות בתא D3:

קוד:
=ARRAYFORMULA(LEN(TRANSPOSE(SPLIT(B3," "))))

כידוע לכם, פונקציית len סופרת את מספר התווים בתא אקסל/שיטס.
ובמקרה שלנו, אנו אומרים לפונקציה לבצע ספירה כלפי כל תא שהתקבל משלב 2 ולהחזיר לנו את מספר התווים שבכל תא במערך.

והתוצאה היא:

5 כנגד הערך אברהם, שהרי בערך אברהם ישנם 5 תווים.

4 כנגד הערך יצחק, שהרי בערך יצחק ישנם 4 תווים.

4 כנגד הערך יעקב, שהרי בערך יעקב ישנם 4 תווים.

שלב 4:


זהו מבנה הפונקציות בתא E3:

קוד:
=ARRAYFORMULA(MAX(LEN(SPLIT(B3," "))))

פונקציית max מחזירה את הערך הגדול ביותר (המקסימלי, ומכאן שמה של הפונקציה) בקבוצה של ערכים.

ובמקרה שלנו, קבוצת הערכים היא אותה קבוצת מספרים שהתקבלה כמערך משלב 3.

התוצאה היא = 5 שהרי המספר 5 הוא הערך הגבוה ביותר במערך זה.

ואם עד כאן הכול מובן וברור נתקדם לשלב הבא…

שלב 5:

בשלב זה 3 פתרונות המבוססות על השלבים שנתבארו לעיל, אני אסקור את הפתרונות תוך כדי מתן הסבר מקוצר.

פתרון 1:

זהו מבנה הפונקציות בתא F3:

קוד:
=ARRAYFORMULA(XLOOKUP(MAX(LEN(SPLIT(B3," "))),LEN(SPLIT(B3," ")),SPLIT(B3," ")))

בפתרון זה, "אנו אומרים" לפונקציית xlookup - (בארגומנט הראשון) תסתכלי על הערך המקסימלי משלב 4 (בארגומנט השני) ותחפשי אותו בטווח משלב 3 ואז (בארגומנט השלישי) תחזירי תוצאה מותאמת (כלומר, מאותה שורה) מאותה רשימת הערכים (המפוצלים) משלב 2.

התוצאה היא - הערך "אברהם".

אכן, "אברהם" היא המילה הארוכה ביותר בתא B3.

פתרון 2:


זהו מבנה הפונקציות בתא G3:

קוד:
=FILTER(SPLIT(B3," "),LEN(SPLIT(B3," "))=MAX(LEN(SPLIT(B3," "))))

בפתרון זה, "אנו אומרים" לפונקציית filter - (בארגומנט הראשון) תחזירי לנו מערך (פוטנציאלית…בפועל, במקרה כאן הפונקציה מחזירה כאן ערך של תא בודד) מותאם מהטווח בשלב 2 , (בארגומנט השני) בתנאי שמתקיים התנאי והוא = שהערך בתא/ים משלב 3 שווה לערך המקסימלי שהתקבל בשלב 4.

התוצאה היא - הערך "אברהם".

אכן, "אברהם" היא המילה הארוכה ביותר בתא B3.

פתרון 3:


זהו מבנה הפונקציות בתא H3:

קוד:
=INDEX(SPLIT(B3," "),MATCH(MAX(LEN(SPLIT(B3," "))),LEN(SPLIT(B3," ")),0))

על השילוב הנפלא והמנצח של פונקציות index & match הסברתי באריכות במאמר בלינק כאן.

בפתרון זה, "אנו אומרים" לפונקציית index - (בארגומנט הראשון) תחזירי לנו מתוך הטווח (במקרה שלנו מדובר בעמודה בודדת) שהתקבל משלב 2, (בארגומנט השני) כאשר מספר השורה "היחסי בטווח" הוא המספר שפונקציית match מחזירה.

ומה מתרחש בתוך פונקציית match?

“אנו אומרים" לפונקציה (בארגומנט הראשון) תסתכלי על הערך המקסימלי שהתקבל משלב 4 (ובארגומנט השני) ותחפשי אותו בטווח שהתקבל משלב 3, ותחזירי לפנינו את מיקומו של ערך זה "באופן יחסי".

פונקציית match מחזירה תוצאה של 1 שהרי המספר 5 הוא הראשון בטווח שבשלב 3.

בארגומנט השלישי של הפונקציה הערך הוא 0 לציין שההתאמה כאן תהיה "מלאה" ולא "חלקית".

וכעת, אם נחזור לארגומנט השני של פונקציית index אז הנה…פונקציית match "גִּילְּתָה" לפונקציית index שמדובר על המיקום (כלומר, השורה) 1 בטווח.

והתוצאה היא - הערך "אברהם".

אכן, "אברהם" היא המילה הארוכה ביותר בתא B3.

ממש נפלא! וואו!

לסיום, לעיל מצינו וראינו 4 פסוקים מהתורה / מכלל התנ"ך שבהם מופיעות התיבות הארוכות ביותר בתורה / בתנ"ך כולו.

אז הנה "הדובדבן שבקצפת"...

לפניכם צילום מסך נוסף המצורף אף הוא בלינק להלן:

תמונה גיליון המילה הארוכה בתורה.png


בעמודה A: רשימת הפסוקים שבהם נמצאות התיבות הארוכות ביותר.

בעמודה B: מצוין המקור לכל פסוק.

בעמודה C: מוחזרות תוצאות התיבות הארוכות ביותר מתוך הפסוקים שבעמודה A.

בעמודה זו נקטתי בפתרון באמצעות פונקציית filter (והוא הדין לפונקציות xlookup או index & match וכנ"ל…).

זהו מבנה הפונקציות בתא C4: (למשל)

קוד:
=FILTER(SPLIT(A4," "),LEN(SPLIT(A4," "))=MAX(LEN(SPLIT(A4," "))))

בעמודה D: מבוצע חישוב באמצעות פונקציית len לחישוב סך האותיות (התווים) ברשימת התיבות הארוכות ביותר.

ועד כאן לאקסל ולעולמן של הפונקציות…

מקווה שנהניתם מהלוגיקה…

מקווה שנהניתם מהפלא והקסם ששמו אקסל ושות'...

לינק לגיליון שיטס הכולל דרכים ופתרונות לאיתור הטקסט הארוך ביותר במחרוזת / בעמודת אקסל / שיטס - מצורף כאן.