הבהרהרבותי-חברי הפורום היקרים.כדרכינו-אפתח ראשית במילי דאורייתא.
▪︎שבת זו הקרבה ובאה נקראת "שבת שקלים" ובה נקרא בתורה את פרשת מחצית השקל. "כִּי תִשָּׂא אֶת-רֹאשׁ בְּנֵי-יִשְׂרָאֵל, לִפְקֻדֵיהֶם, וְנָתְנוּ אִישׁ כֹּפֶר נַפְשׁוֹ לַיי, בִּפְקֹד אֹתָם,וְלֹא-יִהְיֶה בָהֶם נֶגֶף, בִּפְקֹד אֹתָם"
▪︎במדרש שיר השירים רבה (ז.ג) על הפסוק "בטנך ערימת חיטים… אָמַר רַבִּי יִצְחָק מַה חִטִּים הַלָּלוּ כְּשֶׁהֵן יוֹצְאִין לְזֶרַע אֵינָן יוֹצְאִין אֶלָּא בְּמִנְיָן, וּכְשֶׁנִּכְנָסִין מֵהַגֹּרֶן נִכְנָסִין בְּמִנְיָן, כָּךְ כְּשֶׁיָּרְדוּ יִשְׂרָאֵל לְמִצְרַיִם יָרְדוּ בְּמִנְיָן, שֶׁנֶּאֱמַר (דברים י, כב): בְּשִׁבְעִים נֶפֶשׁ יָרְדוּ אֲבֹתֶיךָ מִצְרָיְמָה, וּכְשֶׁעָלוּ עָלוּ בְּמִנְיָן, שֶׁנֶּאֱמַר (שמות יב, לז): כְּשֵׁשׁ מֵאוֹת אֶלֶף רַגְלִי."
▪︎בדיני "תערובות" של דבר איסור בהיתר ישנם כללים מרובים וסוגיות רחבות ועמוקות מיני ים.אך אני אתייחס לכלל אחד בלבד (ובקיצור נמרץ).
בשו"ע (יורה דעה סימן ק"י הלכה א) כתב המחבר "דבר חשוב אוסר במינו בכל שהוא והם ז' דברים ואלו הם אגוזי פרך ורמוני בדן וחביות סתומות וחלפות תרדין וקלחי כרוב ודלעת יונית וככרות של בעל הבית וכן בעלי חיים חשובים הם ואינם בטלים אבל שאר דברים אף על פי שדרכן לימנות הרי אלו עולים כשיעורן: "
וכתב הרמ"א "הגה ויש אומרים דכל דבר שבמנין דהיינו שדרכו למנותו תמיד אינו בטל (טור בשם ר"י וב"י) וכן נוהגין"
מקור סוגיא זו היא בתלמוד בבלי (מסכת ביצה ג לגבי ביצה שנולדה ביום טוב שנתערבה באחרות והדין הוא שכולן אסורות.אע"פ שמהתורה מועיל "ביטול ברוב". גזרו חכמים שבדבר שבמנין אפילו באלף לא בטיל"
ההגדרה של "דבר שבמנין" הוא: כל דבר שרגילים למכור אותו במספר של יחידות ולא על פי משקל /נפח/אומד.
והיינו בגלל שכל דבר שנמנה יש לו חשיבות מצד עצמו ולכן גזרו חכמים וקבעו שאפילו באלף לא בטל.
(בשו"ת תרומת הדשן סימן ק"ג כתב "חידוש" שאפילו דבר שנמכר במשקל וכדומה אך יש בו מנין "מצד מצוותו" כמו נרות חנוכה שרגילים למנותם בכל לילה.גם זה בכלל "דבר שבמנין" ולכן אם נתערב נר חנוכה לאחר שהודלק ונאסר בהנאה -באחרים הכל אסור בהנאה ואפילו באלף לא בטיל.וכך פסק הרמ"א בחלק אורח חיים סימן תרע"ג סעיף א)
▪︎על פי זה ביאר ר' צדוק הכהן זצ"ל (פרי צדיק,-פרשת שקלים) את המדרש (תנחומא) האומר שפרשת כי תשא, שהיא פרשת שקלים, באה כדי לזקוף ולהרים את ראש בני ישראל, שהכוונה היא שעצם העניין שמונים וסופרים את בני ישראל גורם להם חשיבות, כי כל דבר שסופרים אותו הוא חשוב.
ואיך כל זה קשור לאקסל ולעולמן של הפונקציות?
אתם בטח שואלים את עצמכם…
ובכן.(להבדיל בין קודש לחול…)אם נרצה לבצע בדיקה אם תא מסוים באקסל מכיל מספר (זה יכול להיות מספר "כפשוטו" או "מספר סידורי" של תאריך תקני…) אז כולנו מכירים את פונקציית isnumber (הזכרנו אותה רבות בפורום זה)
פונקצייה זו מחזירה ערכים לוגים של true או false (אמת או שקר).
היכן הבעיה מתחילה?
הענין שפונקצייה זו מחזירה true רק כאשר כל הערכים שכתובים בתא הם מספריים.
אך מה קורה כאשר חלק מערכי התא הוא ערך טקסט וחלק ממנו הוא מספרי?
התשובה לכך: שהפונקצייה תחזיר false.
כך בדיוק פונקצייה זו תוכנתה!וזה האלגוריתם שלה!
תראו בצילום מסך מתוך הגיליון המצורף. בתאים B4:B7 ,בכולם מוחזר הביטוי false.
צפה בקובץ המצורף 1596153
ועתה נשאל.מה בכל אופן ניתן לעשות אם נרצה לבצע בדיקה כזו, דהיינו לבדוק האם בתא מסויים קיים ערך מספרי ואפילו בכלשהוא ???
אז בואו ונכיר היום את פונקציית find
תפקידה של פונקצייה זו הוא לחפש טקסט מסוים בתוך מחרוזת .ולהחזיר את מספר התו מתחילת המחרוזת שבו מופיע הערך לחיפוש.(לפרטים נוספים ראו כאן)
ועכשיו אקח כדוגמא את הפונקציות שבתא D4 ואסביר את הלוגיקה שבחישוב זה.
צפה בקובץ המצורף 1596169
פונקציית find "מסתכלת" על כל ערך (כל אחד "בתורו" לפי הסדר…)לחיפוש שהוזן בתוך הסוגריים המסולסלים (כפי שהסברתי בפורום זה פעמים רבות,תפקיד הסוגריים הם ליצור מעין "בנק/תיבה לשליפת נתונים").
ואז מחפשת את הערך במחרוזת שנכתבה בתא A4 שהיא "abc123"
יש לזכור שכאשר הפונקצייה לא מוצאת את הערך לחיפוש תוחזר שגיאת value.
ההחזר שמתקבל בדוגמא הנל יהיה רצף של 10 תוצאות.
כנגד 0-value
כנגד 1- 4 (זה מספר התו מתחילת המחרוזת-הקריאה היא משמאל לימין כי מדובר באנגלית ובספרות…)
כנגד 2- 5
כנגד 3- 6
כנגד 4- value
כנגד 5 ומעלה עד 9 -value
יופי מצוין.כעת נתקדם לשלב הבא בחשבון כאן:
כעת מקיפים את הפונקצייה בפונקציית count זאת על מנת לספור כמה פעמים הופיעה תוצאה מספרית?
ואם תשאלו למה דווקא פונקציית count ולא counta?
התשובה לכך: כי פונקציית counta מתייחסת גם לערכי טקסט כמו value .ופונקציית count מתעלמת מערכי טקסט וסופרת רק תאים בעלי ערך מספרי בלבד.
עכשיו תראו איזה נפלא החשבון כאן-
אם כל ההחזרים מfind הם value אז פונקציית count תחזיר 0.
ואם נמצא ערך מספרי אפילו אחד .אז הפונקצייה תחזיר ערך מספרי (1 לפחות)
בדוגמא הנ"ל פונקציית count תחזיר תשובה של 3.
אם עד כאן הכל מובן נתקדם עוד צעד…
כאשר אנו שואלים האם בתא מסוים יש ערך מספרי כל שהוא .אנו מצפים לתשובה של כן ולא /אמת או שקר/true או false.
אם נקבל בדוגמא הנ"ל תשובה של 3 זה לא רלוונטי עבור השואל.
נשאלת השאלה.מה יגרום לפונקציית count "לשנות מטבעה ומנהגה" ולהחזיר לנו תשובה של ביטוי לוגי?שאלה יפה…נכון?
אז כפי שהסברתי לעיל בלינק כאן (בסעיף 2)
https://www.prog.co.il/threads/רוצה-לעזור-לכם-באקסל.499341/post-13319946
גם כאן נשתמש עם אותה טכניקה ונציב תנאי לcount של גדול מ0.
וכאשר יש תנאי, ההחזרים מהפונקצייה משתנים ומותאמים(בסוג של "אילוץ וכפיה") לעולמם של הביטויים הלוגים דהיינו אחד מהשניים או true או false.נקודה!!!
וכעת נשאל.ולמה התנאי הוא דווקא גדול מ0?
התשובה היא- שהתשובה 0 תתקבל רק כאשר כל ההחזרים מfind הם value.במקרה זה פונקציית count תחזיר false.
אבל… כאשר יש במחרוזת אפילו ספרה אחת פונקציית count תספור אותה כ1.
1 (וקל וחומר 2 או 3 וכו וכו) הוא גדול מ0 .וזו כבר סיבה "מספיק טובה" להחזיר כאן true.
רבותי.זה באמת נפלא,מדויק וגאוני…
תהנו מהלוגיקה! תהנו מכל הדרך הארוכה והנפלאה עד לפיתרון הסופי באקסל...
הערה חשובה!
גיליון זה נערך בגיליון שיטס ולכן הוספתי בו עטיפה של פונקציית arryaformula.אם אתם פותחים את הגיליון באקסל יש להשמיט ידנית את הפונקצייה הנ"ל.
שימו לב.כי בעמודה f קיימת בדיקה על ידי פונקציית search
(בעבר כתבתי עליה ועל הלוגיקה/המאפיין שבה בלינק כאן
https://www.prog.co.il/threads/רוצה-לעזור-לכם-באקסל.499341/post-13030901)
התוצאות הן אותן תוצאות כמו בבדיקה באמצעות find+count.
פונקציית search- "אחותה התאומה" של פונקציית find ותפקידן דומה מאוד מאוד.ובכל זאת קיימים הבדלים דקים בינהן…(בהזדמנות בל"נ ארחיב בנושא זה).
אך כאמור.בגיליון זה וערכיו התוצאות שמתקבלות משתיהן הן זהות.
לסיום,אחתום עם מסר חשוב עבורינו מכל הנ"ל:
בתחילת דבריי הזכרתי את הכלל התלמודי/הלכתי שדבר שבמנין אפילו באלף לא בטיל…
כאשר ניסינו לבדוק ולשאול את האקסל שיחפש האם ישנו מספר כל שהוא (אפילו שהוא "נחבא" בתוך סבך המחרוזת טקסט),אז ראינו שפונקציית isnumber היא לא הכתובת לכך…אך עם קצת מאמץ ומחשבה (בעזרת הפונקציות find וכו )גם האקסל מגלה ואף מונה וסופר כל אחד מהמספרים שנחבאים להם במחרוזות טקסט שבתא.
לכל מספר יש חשיבות אפילו "בעיניו" של האקסל…כל מספר הוא "ערך עצמאי וישות בפני עצמו" .הוא פשוט נוכח וקיים…
והלא דברים קל וחומר…אם כך הם הדברים באקסל שהוא חומר ודומם.קל וחומר שכל יהודי עם נשמה אלוקית ממעל הוא דבר חשוב ובעל ערך עליון כלפי המקום(וכן כלפי עצמו)
החשיבות היא כאשר יש כאן גדר של "דבר שבמנין".
וכפי שהבאתי לעיל את דברי רבי צדוק הכהן זצ"ל שזו הסיבה שהקב"ה מצווה לספור את עם ישראל שוב ושוב.(ובודאי שמצד המספר עצמו הכל גלוי וידוע לפניו יתברך…ולא נצרכת שום ספירה.ובכל זאת הסיבה (לציווי על ספירת עם ישראל)היא כאמור על מנת לייקר כל אחד מישראל שלא יהיה שייך בו שום מושג של "ביטול" חלילה…כי דבר שבמנין לא בטל לעולם)
בתלמוד בבלי (מסכת מגילה יג "אמר ריש לקיש גלוי וידוע לפני הקדוש ברוך הוא שעתיד המן לשקול שקלים על ישראל לפיכך הקדים שקליהם לשקליו"
ובספר ברית שלום (דרושים על התורה והמועדים מר' פנחס בן פילטא זצ"ל מפוזנא,בתחילת פרשת שמות) מבאר על כך ביאור נפלא על פי האמור לעיל.שהמן הרשע טען "ישנו עם אחד מפוזר ומפורד…" דהיינו שכיון שעם ישראל מפורדים ומפוזרים בין האומות.הדין הוא שיהיו בטלים "ברוב" וכיון שרוב העולם גויים אז לכל יהודי אין קיום ליהדותו חלילה (עפרא לפומיה) ולכן דין העם היהודי להמיר דתו או ליהרג.
ועל כך אמר ריש לקיש שהקב"ה "הקדים שקליהם לשקליו" והיינו שכאשר עם ישראל נספרים הם "חשובים" ולא שייך בהם דין ביטול לעולם בשום צד ואופן.כי כך הוא הדין שדבר שבמנין לא בטיל לעולם…!נפלא מאוד!
וזהו מוסר וחיזוק/תזכורת/התעוררות עבור כל יהודי שיידע את חשיבותו ומעלתו לפני המקום ברוך הוא.שהקב"ה .שמח ואוהב כל יהודי בפרט ומחבב את "מספר בני ישראל" כאדם (להבדיל אלף הבדלות)שמונה מרגליות טובות…
יהי רצון שנזכה בזמן הזה כבימים ההם, ויתקיים בנו הפסוק "וְנַהֲפוֹךְ הוּא, אֲשֶׁר יִשְׁלְטוּ הַיְּהוּדִים הֵמָּה בְּשֹׂנְאֵיהֶם",אמן.
שבת שלום ומבורכת לכולם!
במהלך ביצוע העתק הדבק של הנ"ל מקובץ דוקס שערכתי.
היתה טעות בקידוד בהדבקה-היכן שמוצג כאן סמיילי/אימוג'י
במקור כתבתי : לסמן עמוד ב (בדפי הש"ס) .
סורי!