תמונת מקור - Leonardo AI
פּתיחתה של פרשת "חוקת" שאנו נקרא בשבת קודש הקרובה עוסקת בפרשת פרה אדומה.
וכך לשונה של התורה הקדושה: (במדבר י"ט. י"ז)
"וְלָקְחוּ לַטָּמֵא מֵעֲפַר שְׂרֵפַת הַחַטָּאת וְנָתַן עָלָיו מַיִם חַיִּים אֶל כֶּלִי"
ובתלמוד בבלי (מסכת ראש השנה דף כ"א עמוד ב') איתא:
״בִּקֵּשׁ קֹהֶלֶת לִמְצוֹא דִּבְרֵי חֵפֶץ. בִּקֵּשׁ קֹהֶלֶת לִהְיוֹת כְּמֹשֶׁה, יָצְתָה בַּת קוֹל וְאָמְרָה לוֹ וְכָתוּב יוֹשֶׁר דִּבְרֵי אֱמֶת, וְלֹא קָם נָבִיא עוֹד בְּיִשְׂרָאֵל כְּמֹשֶׁה״.
ופירש מרן החיד"א - רבינו חיים יוסף דוד אזולאי זיע"א בספרו "פני דוד" (על התורה - פרשת חוקת אות י"ב) וזהו לשונו הטהור:
"פירשו רבני אשכנז, דשלמה היה חפץ למען דעת טעם פרה אדומה, ומצא רמז בפסוק זה - לטמא מעפר שרפת החטאת ראשי תיבות שלמה.
ויהיב אדעתיה לטרוח להשיג להבין טעם פרה אדומה מאחר דמצא שמו רמוז בפסוק זה.
לכן יצאת בת קול ואמרה וכתוב יושר דברי אמת כלומר הטבת לראות דיש רמז בפסוק אך טעית דצריך לעשות ראשי תיבות ביושר לטמא מעפר שריפת החטאת הוא למשה דהוא ידע טעם פרה אדומה לכך נרמז בראשי תיבות, עד כאן מדבריהם", עכ"ל.
כיוצא בו, ידוע ומפורסם פירושו של רבינו הגר"א מוילנא זצ"ל בספרו "קול אליהו" (שמואל א' אות קנג') על הפסוק (שמואל א' - א'. ט"ו) "וַתַּעַן חַנָּה וַתֹּאמֶר לֹא אֲדֹנִי אִשָּׁה קְשַׁת רוּחַ אָנֹכִי וְיַיִן וְשֵׁכָר לֹא שָׁתִיתִי וָאֶשְׁפֹּךְ אֶת נַפְשִׁי לִפְנֵי ה'" וכך הוא לשונו של רבינו ז"ל:
"והנה בפירוש רש"י בדפוסים ישנים היה כתוב בזה הלשון - כשרה, והמדפיסים השמיטו את המילה הזאת…
ויש לומר על פי דברי הרמב"ן ז"ל בפרשת תצווה בעניין אורים ותומים שכתב שהיה שם שמות הקדושים והם שהיו מאירים דבריהם, שהיה הכהן מכוון בהשמות והיו האותיות מאירים או בולטים כמו שאמרו בגמרא במסכת יומא. אך לצרף האותיות היה צריך הכהן לצרפם על פי רוח הקודש כי היכולת לצרף האותיות באופנים שונים…
ולכן כאשר ראה עלי את חנה שהיא מדברת על לבה ורק שפתיה נעות וקולה לא ישמע, והוא היה מכירה שהיא צדקת. לכן תמה מאוד על זה והיה חפץ מאוד לדעת מה זה ועל מה זה.
ושאל באורים ותומים שלו, ויצאו האותיות בולטים או מאירים בתבנית כזה - הכשר והוא צרפם שהוראתם הוא שכרה ולכן כתיב וַיַּחְשְׁבֶהָ עֵלִי לְשִׁכֹּרָה.
ואמר לה כדבר ודאי עַד מָתַי תִּשְׁתַּכָּרִין הָסִירִי אֶת יֵינֵךְ מֵעָלָיִךְ…
ועל זאת ענתה לו חנה - לא אדוני, לא אדון אתה בדבר הזה ולא רוח הקודש איכא גבך לצרף האותיות כהוראתם האמיתיים שצירופם באמת הוא כשרה. כלומר שאני מתפללת על בנים כשרה אמנו, ואם כן למה דנתני לכף חובה לצרף האותיות לומר שהוראתם - שכרה ולא דנתני לכף זכות שהוראתם הוא - כשרה שהיתה עקרה…
וזהו שפירש רש"י לא אדוני…כשרה". עכ"ל.
ולהבדיל בין קודש לחול…במאמר זה אעסוק במונח שנקרא אָנַגְרָמָה (Anagram).
מהי אנגרמה?
אנגרמה היא מילה או משפט שנוצרו על ידי ערבוב מחדש של אותיות של מילה או משפט אחר, כך שכל האותיות נשמרות, אך הסדר השתנה.
מקור המונח הוא מיוונית.
אנא = אחורנית, הפוך,
גרמה = אות.
דוגמאות פשוטות: המילה "אריה" יכולה להפוך ל"הראי" – שתי המילים מורכבות מאותן אותיות בדיוק, אבל הסדר שונה.
באנגלית, המילה למשל "listen" (להקשיב) היא אנגרמה של המילה "silent" (שקט).
להבדיל, ביהדות ובתורה הקדושה בשלל רבדי הפרד"ס שבה ישנן דוגמאות רבות עד אין קץ תוך כדי שימוש בחילוף / "תמורה" של האותיות מתיבה אחת לתיבה אחרת.
(במקרא עצמו, יש אנגרמות בצורת שתי מילים שיש להן משמעות זהה תוך שסדר האותיות שלהן שונה. לדוגמא שִׂמְלָה-שַׂלְמָה, כֶּבֶשׂ-כֶּשֶׂב.)
2 הביאורים הנ"ל בפתחו של מאמר זה הם טיפה אחת מן הים הגדול - ים חכמתה של התורה הקדושה…
תן לחכם ויחכם עוד…
השימושים באנגרמות:
פאזלים ומשחקי מילים: אנגרמות הן חלק מתחרויות לשוניות, תשבצים ומשחקי מילים.
בדיקה ספרותית: סופרים ומשוררים משתמשים באנגרמות כדי ליצור אפקטים מיוחדים, סודיות או כדי להחביא מסרים.
קריפטוגרפיה: בעבר שימשו אנגרמות כסוג של קוד או הצפנה פשוטה.
שם משתמש או כינוי: רבים יוצרים שמות על ידי ערבוב מחדש של שמותיהם.
איך מזהים אנגרמה?
כדי לבדוק אם שתי מילים הן אנגרמות, ניתן לספור את האותיות בשתיהן ולוודא שהן שוות.ואז, לסדר את האותיות בכל מילה לפי סדר אלפביתי, ואם התוצאות זהות – זו אנגרמה.
כעת, בואו ותראו איך כל הנ"ל קשור לאקסל ולעולמן של הפונקציות…
ובכן, אם תרצו לבצע בדיקה בעזרת האקסל/שיטס - האם מילה מסוימת היא אנגרמה של מילה אחרת.
אולי תתפלאו אבל זה אפשרי!
כן, זה כמעט פשוט וקל כפי שתראו להלן…
לפניכם צילום מסך מתוך הגיליון המצורף בלינק להלן:
שלב 1:
בתאים A2 & B2 יש לכתוב את שני הטקסטים לבדיקה,
בדוגמה הנ"ל הטקסטים הם רצף ספרות,
12345 & 13254
שלב 2:
זהו מבנה הפונקציות בתא C2:
קוד:
=ARRAYFORMULA(MID(A2,SEQUENCE(LEN(A2)),1))
הרעיון פה הוא ראשית "לפרק" את רצף הספרות שהוזנו בתא A2 כמערך.
כל זאת באמצעות פונקציות mid & sequence & len.
ועל כך הסברתי באריכות במאמר כאן (בשלבים 2-3-4).
וזהו מבנה הפונקציות בתא D2:
קוד:
=ARRAYFORMULA(MID(B2,SEQUENCE(LEN(B2)),1))
וכנ"ל גם כאן המטרה היא "לפרק" את רצף הספרות שהוזנו בתא B2 כמערך.
שלב 3:
לעיל כתבתי "לסדר את האותיות בכל מילה לפי סדר אלפביתי, ואם התוצאות זהות – זו אנגרמה."
לסדר את האותיות לפי סדר אלפביתי קרי - למיין.
הפונקציה שיכולה ויודעת לבצע מיון (באופן אוטומטי ולא ידני) עבור טווח/מערך באקסל/שיטס היא פונקציית sort הגאונית והנפלאה.
(באקסל, הפונקציה זמינה החל מגרסת 365)
מבנה הארגומנטים של הפונקציה הוא כדלהלן:
הארגומנט הראשון array: כלומר הטווח או המערך למיון, ארגומנט זה - חובה.
בדוגמה כאן, המערך הוא זה שהתקבל משלב 2 לעיל.
זהו מבנה הפונקציות בתא E2:
קוד:
=SORT(ARRAYFORMULA(MID(A2,SEQUENCE(LEN(A2)),1)))
וזהו מבנה הפונקציות בתא F2:
קוד:
=SORT(ARRAYFORMULA(MID(B2,SEQUENCE(LEN(B2)),1)))
הארגומנט השני sort_index: כלומר, מספר המציין את השורה או העמודה שלפיה יש למיין, ארגומנט זה הוא אופציונלי וברירת המחדל היא (כאשר לא הוזן כלום בארגומנט זה) 1 דהיינו לפי שורה/עמודה 1.
הארגומנט השלישי sort_order: כלומר, מספר המציין את סדר המיון הרצוי.
1 עבור סדר עולה (זו גם ברירת המחדל),
1- עבור סדר יורד.
הארגומנט הרביעי by_col: כלומר, ערך לוגי המציין את כיוון המיון הרצוי.
FALSE כדי למיין לפי שורה (זו גם ברירת המחדל),
TRUE כדי למיין לפי עמודה.
מצוין, נתקדם לשלב הבא…
שלב 4:
לאחר מיון התווים בכל מילה התהליך מכאן ואילך הוא די פשוט…
כל שנותר הוא להציב את שני המערכים (לאחר מיון) ולבדוק תא כנגד תא (באותה שורה) האם הערכים שווים או לא.
וזהו כבר מבנה הפונקציות בתא G2:
קוד:
=ARRAYFORMULA(AND(F2:F=E2:E))
פונקציית and מחזירה true רק כאשר כל ההחזרים הם true אך אם ישנו החזר (אפילו אחד כזה…) של false הפונקציה מחזירה false
ובמקרה כזה המשמעות היא שאין כאן התאמה. כלומר אין זו אנגרמה!
נפלא מאוד!
והנה החלק האהוב על כולכם במיוחד…מוכנים?
ובכן, בצילום מסך שלפניכם(מתוך הגיליון המצורף בלינק להלן) כל 4 השלבים לעיל מקופלים זה בתוך זה בנוסחה אחת ארוכה…
ואלו הן כל שלל הפונקציות בתא C2:
קוד:
=IFNA(ARRAYFORMULA(AND(SORT(MID(B2,SEQUENCE(LEN(B2)),1))=SORT(MID(A2,SEQUENCE(LEN(A2)),1)))),FALSE())
פשוט וואו!
נ.ב כאשר מילה אחת מכילה סך תווים שונה מהמילה השנייה פונקציית and מחזירה שגיאת n/a , במקרה כזה אין כאן אנגרמה באופן ודאי ומוחלט ולכן פונקציית ifna מחזירה באופן אוטומטי false.
לסיום, מצורפים לפניכם 2 צילומי מסך נוספים (גם הם כמובן כלולים בגיליון המצורף בלינק להלן) אפרופו הביאורים בראשיתו ופתיחתו של מאמר זה.
הכול ערוך ומסודר יפה יפה.
ועד כאן לאנגרמה, אקסל ומה שביניהם…
מקווה מאוד שנהניתם מהמסע המופלא והמרתק לאורכו של מאמר זה…
לינק לגיליון שיטס הכולל בדיקה האם מילה X היא אנגרמה של מילה Y - מצורף כאן.
הנושאים החמים