תמונת מקור - Leonardo AI
כּך הוא לשון השולחן ערוך בהלכות תפילין (אורח חיים סימן ל"ה סעיף א'):
"נָהֲגוּ בְּמִנְיַן הַשִּׁטִּין (השורות) לִכְתֹּב בְּשֶׁל יָד שִׁבְעָה שִׁטִּין בְּכָל פָּרָשָׁה וּבְשֶׁל רֹאשׁ אַרְבָּעָה שִׁטִּין, וְאִם שִׁנָּה לֹא פָּסַל."
וכתב בטור - דמנהג זה הוא "על פי הקבלה מהקדמונים".
ובספר "ערוך השולחן" (על סדר השולחן ערוך וחיברו הרב יחיאל מיכל הלוי אפשטיין זצ"ל) הוסיף על כך:
"ואם שינה – לא פסל, כיון שבגמרא אינו מבואר זה. וגם טעם הדבר לא נגלה לנו, לכן אינו מעכב.
ומכל מקום הסופר שאינו עושה כן אינו משובח, וצריך לבדוק אחריו.
לעניות דעתי נראה הטעם - דשל יד הוא כנגד הלב, והלב הוא תחת הזמן ויש בו טוב ורע, והזמן כלול בשבעה ימים. והשל ראש הוא כנגד המוח, שבשם כולו קודש, והוה ארבע שיטין כנגד אותיות השם. וסייג לזה עיין זוהר פנחס דף רנ"ז ע"א - פקודא שתיתאה עיין שם." עכ"ל.
ובסודם של דברים ביאר הטעם רבינו המהרח"ו ז"ל בספר שער הכוונות (דרושי תפילין - דרוש א') "והענין הוא לפי שבראש ז"א אינם מקיפין רק ארבע בלבד, אבל בתפילה של יד שהיא המלכות יש בה ז' מקיפין וכו'" עיין שם וכמו שידוע ליודעי ח"ן וכבוד אלוקים הסתר דבר…
(ולכן אע"פ שעל דרך הפשט כתב בשולחן ערוך שאם שינה לא פסל, על פי הסוד יש להקפיד בענין מנין השיטין במאוד מאוד.)
כעת בואו תראו איך כל הנ"ל קשור לאקסל ולעולמן של הפונקציות…
אז להבדיל בין קודש לחול…אפתח "בטריק" של קיצור מקלדת / מקשים שאולי אתם מכירים ואולי לא…
ואני מדבר על הדרכים למעבר שורה בתוך התא אקסל/שיטס עצמו.
ישנם 2 דרכים לבצע זאת:
דרך 1 - בלחיצה על המקשים Alt + Enter
דרך 2 - בלחיצה על המקשים Ctrl + Enter
אם תרצו (מכל סיבה שהיא) לספור כמה שורות ("שיטין") ישנן בתא ספציפי של האקסל/שיטס. האם זה אפשרי?
התשובה היא - כן בהחלט!
לפניכם צילום מסך (מתוך הגיליון שיטס המצורף בלינק להלן) ובו קיימת סימולציה לשאלה הנ"ל כאשר הפתרון "מפורק" שלב אחרי שלב…
בואו נתחיל…
תוכלו לראות כי בתא A1 הוזנו הערכים "אברהם" "יצחק" "יעקב" ב 3 שורות נפרדות.
שלב 1:
זו מבנה הפונקציה בתא B3:
קוד:
=LEN(A1)
כולכם מכירים כבר את פונקציית len באקסל / שיטס (הזכרתי אותה בעבר במאמריי פעמים רבות ).
כן, פונקציה זו סופרת את מנין התווים בתא.
החזר התוצאה הוא - 15
אבל רגע רגע בואו נעשה חשבון קטן:
המילה אברהם = 5 תווים.
המילה יצחק = 4 תווים.
המילה יעקב = 4 תווים.
13 = 4 + 4 + 5
ונשאלת השאלה, מדוע ולמה הפונקציה ספרה 15 תווים בתא? מה טיבם של 2 התווים שנוספו כאן למשוואה?
והתשובה היא - שפעולת "ירידת שורה" כלומר הוספת שורה חדשה בתוך התא נחשבת כמו תו לכל דבר וענין.
ומכיוון שבתא זה ישנן 2 פעולות כאלה (בין אברהם ליצחק ובין יצחק ליעקב) פונקציית len מחשיבה את 2 התווים הנ"ל בספירתה.
15 = 2 + 13
שלב 2:
זהו מבנה הפונקציות בתא B4:
קוד:
=SUBSTITUTE(A1,CHAR(10),"")
אז ראשית, מהי פונקציית char ומה תפקידה?
ובכן, במאמר בלינק כאן הסברתי על פונקציית code ותפקידה.
פונקציית char היא מבצעת פעולה הפוכה מפונקציית code.
תוצאת פונקציית char בהינתן המספר (אותו יש להזין בארגומנט שבה) היא - יצירת התו הנראה או הבלתי נראה.
תוצאת פונקציית code היא - המספר לתווים הנראים או הבלתי נראים (אותם יש להזין בארגומנט שבה).
ולאחר הקדמה זו הנה כמה מילים על קוד 10 בפונקציית char:
ברשימת הקודים של ASCII או של UNICODE הקוד 10 הוא תו "LF" (קיצור של Line Feed) כלומר תו שמייצג מעבר לשורה חדשה - New Line.
(ברשימת יוניקוד "המלא" ערך תו זה בבסיס הקסדצימלי הוא U + 000A)
תוכלו לראות זאת בצילום מסך המצורף:
קרדיט צילום מסך - אתר ASCII Table הרשמי
בשלב זה אנו אומרים לפונקציית substitute (הסברתי אודותיה בהרחבה במאמר כאן עיין שם…) לבצע המרה בתא A1 בכל פעם שהיא פוגשת את התו המוחזר מפונקציית char - קוד 10 (כלומר תו של "ירידת שורה") בכלום "".
והתוצאה היא כל רשימת השמות בשורה אחת ככה - אברהםיצחקיעקב.
(שימו לב כי במקור - בתא A1 אין רווח לאחר כל שם, ולכן השמות כאן צמודים זה לזה ללא שום רווח)
שלב 3:
זהו מבנה הפונקציה בתא B5:
קוד:
=LEN(B4)
בשלב זה מתבצעת ספירת התווים באמצעות פונקציית len והפעם - ללא תו של ירידת שורה.
והתוצאה היא 13.
והנה הגענו לשלב הסופי…
שלב 4:
זהו מבנה הנוסחה בתא B6:
קוד:
=B3-B5+1
ראשית אנו מעוניינים לדעת כמה תווים האחראים על "ירידת שורה" קיימים בכלל המחרוזת שבתא A1.
ולכן החישוב B3-B5 דהיינו 15-13 והתוצאה היא 2.
נקודה למחשבה:
שימו לב כי תוצאה זו היא מעצם פעולת ירידת השורה בתא האקסל/שיטס. כלומר גם אם היה נכתב בתא זה אברהם ולאחר מכן נבצע ירידת שורה (בלי לכתוב יצחק) ולאחר מכן נבצע שוב ירידת שורה (בלי לכתוב יעקב) התוצאה בשלב זה הייתה 2.
ומדוע?
כי יש כאן 3 שורות!
הרעיון הוא שברגע שאנו יורדים שורה בתא - הוכן כאן באופן פוטנציאלי "המקום" להזנת טקסט בשורה החדשה.
וכעת בואו חשבון…
כאשר ידוע לנו כי קיימות 2 שורות - הרווח ביניהם יהיה 1 כלומר תו אחד (קוד 10).
אם נציג זאת "כנוסחה" אז זה יראה כך:
תו/וי רווח = 1 - מספר השורות
אם נבצע "שינוי נושא נוסחה" קטן כמו שאנו מתורגלים לבצע בנוסחאות מתמטיות - הנוסחה תיראה כך:
מספר השורות = 1 + תו/וי רווח
כעת תבינו היטב מדוע נוספה לה פעולת החיבור 1+ בתא B6...
והתוצאה היא = 3
שהרי 2 שורות ועוד 1 שווה ל 3.
נפלא מאוד! נכון?
לסיום, בפתיחתו של מאמר זה כתבתי כמה מילים אודות מנין השיטין בתפילין של יד / ראש.
אז הנה צילום מסך נוסף (מתוך הגיליון המצורף בלינק להלן) ובו סימולציה לספירת מנין השורות כלפי פרשה של "שמע" (זו דוגמא בלבד והוא הדין בכל זה בפרשיות קדש, והיה כי יביאך, והיה אם שמוע) בתפילין של יד / ראש.
ודע עוד דסדר זה (של התיבות הפותחות בכל שיטה) שנכתבה פרשה דשמע הוא בדווקא כפי מה שביאר ופירט רבינו המהרח"ו ז"ל (בלינק לעיל משער הכוונות עיין שם) על פי הסוד וכן הוא מנהג הסופרים כיום, אך בטור פירוט התיבות שבכל שיטה הוא שונה עיין בלינק כאן ודו"ק.
המשימה היא לספור את מנין השורות בתא A4 (עבור תפילין של יד) ובתא A7 (עבור תפילין של ראש).
כאן תוכלו לראות את הקסם כיצד כל 4 שלבי הפתרון "מקופלים" זה בתוך זה כנוסחה אחת ארוכה:
זהו מבנה הפונקציות בתא B4:
קוד:
=LEN(A4)-LEN(SUBSTITUTE(A4,CHAR(10),""))+1
וזהו מבנה הפונקציות בתא B7:
קוד:
=LEN(A7)-LEN(SUBSTITUTE(A7,CHAR(10),""))+1
והתוצאות הן:
עבור תפילין של יד = 7 כלומר 7 שיטין.
ועבור תפילין של ראש = 4 כלומר 4 שיטין.
וואו ! פשוט נפלא!
ועד כאן לאקסל ולעולמן של הפונקציות…
מקווה שנהניתם מהמסע הנפלא והמרתק…
לינק לגיליון שיטס אודות הדרך לספור את מנין השורות בתא אקסל/גוגל שיטס - מצורף כאן.
הנושאים החמים