'נפלאות האקסל' - פרק 1 ▪ "מאחורי הקלעים" של ה'אקסל' / 'גוגל שיטס', של 'מערכים' ושל פונקציית mid המופלאה !!!

תמונת פתיחה - פרק 1.jpg

קרדיט: @יעקב ויצמן

שלום רב !

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

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

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

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






פרק א - בין נתונים ישירים להפניות
ומה בין מספרים 'אמיתיים' ל'לא אמיתיים' ?

מה קורה כשעושים הפניה לתא אחר ?

נניח שבתא A1 כתוב את המילה אברהם, ובתא B1 אני כותב A1=
מה קורה לאקסל / גוגל שיטס ? איך הוא 'מבין' את זה ? איך הוא מגיב ? מה קורה לו ?
האם "מאחורי הקלעים" של האקסל מבין את זה בדיוק כמו שאני יכתוב לו ישירות את המילה אברהם, או שזה בדיוק כמו שאני יכתוב
"אברהם"=, או שהאקסל מבין את זה בצורה שונה ?
מה האמת ?

התשובה היא: לא ! האקסל מבין את זה בצורה שונה !

ואני יסביר.

בכל תא שאנחנו מזינים נתונים - אנחנו רואים את כל נתוני התא כמקשה אחת.
לדוגמא: נכתוב בו את הספרה 6, והערך שלו אכן יהיה 6, והעיצוב שלו בצורה מסוימת וכו'.
אבל האמת היא, שהתוכנה "מסתכלת" על זה כאוסף שלם של נתונים. (1. יש בו ספרה 6. 2. הערך של התא הוא 6. 3. העיצוב שלו הוא בצורה מסוימת וכו'. בהמשך תבינו מה ההבדל בין הספרה 6 לערך 6.)

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

עכשיו, תשאלו אותי - מה זה משנה ?

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

אבל כשאנחנו מגיעים למספרים ולהפעלת פונקציות על הנתונים זה כבר מאד מאד משנה.


מספר 'אמיתי' ומספר 'לא אמיתי'.

לפני שנתחיל -
זה ברור לכולנו שפעולות מתמטיות עובדות רק על מספרים, נכון ?
אי אפשר לעשות אברהם+1, זה פשוט לא עובד !
זה נכון גם בפונקציות שעושות פעולות מתמטיות, כגון sum או sumproduct וכדו'.
הפונקציה הזאת (A1,"אברהם")SUM= לא תעבוד.

כי אי אפשר להפעיל פעולה מתמטית על טקסט ! נקודה!

עכשיו שימו לב למשהו מעניין,
מה יקרה אם יהיה לנו מספר 'לא אמיתי', מספר שהוא בעצם טקסט.
להרחבה גדולה על המושג שיש מספר 'אמיתי' ויש מספר ש'אינו אמיתי' באקסל, תוכלו לקרוא במאמר הבא של @יעקב ויצמן :

אם נכניס את הנוסחה הזאת "1"= לתא באקסל, מה שיופיע לנו הוא 1, תראו בצילום מסך הזה (שורות 17-19):

אמיתי ולא אמיתי.png


אבל האמת היא - הוא לא מספר. הוא טקסט!

הוכחה לכך תוכלו לראות:
בעמודה D באמצעות פונקציית isnumber, שמחזירה לנו false. (פונקציית isnumber "בודקת" שהתוכן הוא מספר, ומחזיר true. ואם זה לא נכון, אלא התוכן אינו מספר הוא מחזיר false.)
ובעמודה E באמצעות פונקציית istext, שמחזירה לנו true. (פונקציית istext "בודקת" שהתוכן הוא טקסט, ומחזיר true. ואם זה לא נכון, אלא התוכן אינו טקסט הוא מחזיר false.)

דרך נוספת לעשות מספר שרק מוצג ויזואלית כמספר אבל באמת הוא לא מספר אלא טקסט, הוא ב'עיצוב תאים' להגדיר את התא כטקסט, (שורה 14-16)
אבל את זה צריך להגדיר לפני שמזינים את המספר.
אם תכתבו מספר, ואח"כ תגדירו את התא כטקסט, הוא יהיה מספר ופונקציית isnumber עדיין תחזיר true.
רק אם תגדירו את זה כטקסט לפני שתכתבו את המספר, ולאחר מכן תכתבו את המספר, במקרה כזה הוא יהיה טקסט ופונקציית isnumber תחזיר false.
תנסו ותראו.


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

הבה ונראה.

שימו לב לצילום מסך הבא :
מתמטי על לא אמיתי  - אקסל.png


כאן אנחנו מגיעים לכמה חידושים גדולים.
ומכאן ואילך עליכם לאחוז ראש, כי זה עלול להיות מבלבל !


לכל מספר באקסל יש 1תוכן 2וערך

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

וכאן המקום להסביר מה קורה בתא שיש בו מספר שהוא טקסט. (וכאן גם תבינו מה היה הכוונה שיש תוכן ויש ערך לכל תא.)

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

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


פעולה מתמטית על מספר בתבנית טקסט


כמו שכבר אמרנו, כשאנחנו מפנים את הנוסחה לתא אחר - תלוי כל נוסחה וכל פונקציה מה היא רוצה "לשאוב" מהתא שהפנו אותו אליו.
כשמדובר מפעולה מתמטית כלשהיא (חיבור / חיסור / כפל / חילוק), האקסל "שואבת" את התוכן = הספרה (לא את הערך!),
כי כל פעולה מתמטית מבוצעת על מספרים = ספרות, ולא על ערכים!
ולכן - כשנפעיל פעולה מתמטית על מספר בתבנית טקסט - זה תמיד יעבוד,
גם במקרה שנזין את המספר ישיר לנוסחה (שורה 27 בצילום מסך), וגם במקרה שנפנה את הנוסחה לתא אחר שבו מופיע המספר (שורות 28-29).


פונקציית SUM על מספר בתבנית טקסט

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

ולכן - אם נעשה SUM ונפנה אותו לתא שיש בו מספר עם טקסט - הוא "יבדוק" מה הסכום של התא ההוא,
ויחזור עם תשובה שהסכום הוא 0 ! [כי הוא טקסט]. (שורות 32-33)
אבל אם נעשה SUM ונכתוב ישירות לתוכו מספר שהוא טקסט - הוא לא "יבדוק", כי זה נמצא אצלו,
הוא "ירגיש" שיש פה מספר, הוא "ימיר" אותו למספר אמיתי, וכך הוא יצליח לסכום אותו. (שורה 31)


פונקציית SUMPRODUCT על מספר בתבנית טקסט

כשמדובר מפונקציית SUMPRODUCT, היא תעלומה גדולה, בלגן גדול. לא נוכל במאמר הזה להיכנס להסברים, נסתפק בהצגת הנתונים.
שני התוכנות 'אקסל' ו'גוגל שיטס' "לומדות" את הפונקציה הזאת בצורה שונה.
  • באקסל - היא עובדת כמו פונקציית SUM, היא צריכה לקבל ערכים. לכן היא לא תעבוד אם נפנה אותו לתא שיש בו מספר שהוא טקסט.
    כאן המקום להדגיש - באקסל היא לא תעבוד גם במקרה שנזין את הנתונים ישירות אליו, הוא לא "ממיר" לבד את הספרות למספרים בעלי ערך.
  • בשיטס - היא כמו פעולה מתמטית, ולכן היא תעבוד גם במקרה שנפנה אותו לתא שיש בו מספר שהוא טקסט.
את זה תוכלו לראות בהשוואה הבאה, בשורות 34-35 (מתוך השיטס המצורף למטה):
השוואה מתמטי על לא אמיתי.png



אסור לפספס - נקודה פשוטה, אבל חשובה !
ברגע שהפעלנו על המספר פעולה מתמטית כלשהיא או פונקציה כלשהיא, עכשיו - המספר הוא מספר אמיתי !
כי תוצאה של פעולה מתמטית או של פונקציה מתמטית תמיד תהיה מספר !

תסתכלו בעמודה G בצילומי מסך שצירפתי למעלה - תראו שאני צודק!


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





פרק 2 - פונקציית mid המופלאה !

פונקציית mid ! ! !
פונקציית MID היא פונקציה מופלאה ביותר, היא באה לשימוש במגוון רחב מאד של שימושים,
בואו כעת לצלול קצת לעמקי פונקציית MID, נבין איך היא עובדת "מאחורי הקלעים".
למאמר נפלא על אחד מהשימושים הנפלאים של פונקציה זו תוכלו לקרוא במאמר הזה של @יעקב ויצמן .

ולפני זה - נביא סקירה קצרה על פונקציה זו:
שם הפונקציה: MID
מטרתו: לחלץ תו בודד או רצף של תוים מתוך טקסט ארוך.
מספר ארגומטים: 3
ארגומנט 1: הטקסם ממנו נרצה לחלץ תו או תווים.
ארגומנט 2: מאיזה מספר תו להתחיל לחלץ.
ארגומנט 3: כמה תווים לחלץ.

לפני שנתחיל נראה השוואה נוספת בין אקסל וגוגל שיטס:
השוואה מתמטי על מחולץ.png


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

גם אם "נחלץ" מתוך מספר 'אמיתי', הנתונים שהפונקציה תחזיר יהיו מספר בתבנית של טקסט.
(לדוגמא - אם נבקש לחלץ את התו השני מהמחרוזת 1234, הפונקציה תחזיר "2".)
הוכחה לכך, תוכלו לראות בתא B8, שם תוכלו לראות שפונקציית isnumber מחזירה false, (שזה אומר שזה לא מספר).

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

והתשובה היא:
גם כאן, נראה שהתשובה שונה בין התוכנה 'אקסל' ל'גוגל שיטס'.


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

עכשיו נשאר לנו רק לסכם את כל מה שלמדנו בפרק א - בהקשר לפונקציית MID.

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

פונקציית SUM
בפונקציית SUM, אמרנו שזה עובד רק במקרה של הזנה ידנית, (ובמקרה של הפניה לתא אחר - הוא לא יעבוד),
לכן, בפונקציית MID, באקסל (שפונקציית MID היא כמו הזנה ישירה) - זה יעבוד. בשיטס (שפונקציית MID היא כמו הפניה לתא אחר) - זה לא יעבוד.
(שורה 12)

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


בצילום מסך הבא - תוכלו לראות סיכום של פרק זה, בצורה מסודרת וברורה !
סיכום מתמטי על מחולץ.png






פרק 3 - מערכים !
כעת, בואו נכיר עוד תחום מרתק ומעניין - 'מערכים'.
כלי עוצמתי של אקסל / גוגל שיטס שמקצר לנו תהליכים, ושימושי מאד בחיי היום יום של המשתמשים בתוכנות אלו.

מהו מערך ?
ומה אנחנו עושים איתו ?
איך נעשה אותו ?

מהו מערך ?

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

מה אנחנו עושים איתו ?
יש שני אופציות:
  1. להכניס את המערך כמו שהוא לתא באקסל / בגוגל שיטס - מה שיקרה הוא שהוא "יזלוג" לתאים הסמוכים.
  2. להכניס את המערך לפונקציה שמקבלת 'מערכים' (כמו SUM ועוד), והיא תסכום (או כל פעולה אחרת שהפונקציה עושה) את כל הנתונים שיש במערך.

איך נעשה אותו ?
קיימים כמה אופציות ליצור 'מערכים'.
  1. אופציה אחת היא הפניה למספר תאים בבת אחת.
  2. אופציה נוספת ליצור 'מערכים', היא על ידי הכנסת רצף של נתונים ! (לא רצף של תאים, אלא רצף של נתונים.)

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


כעת נסקור כמה אופציות ליצור מערכים:

שימו לב - בכל הדרכים הבאות - הפונקציה נמצאת רק בתא הראשון (כמו שכתוב בכל דרך - 'זה מבנה הפוקנציות בתא...),

והוא 'זולג' החוצה לתאים הסמוכים.

כל הדרכים בצילום מסך - מתוך הגוגל שיטס המצו"ב.
כל הדרכים למערכים .png


דרך א:
הפניה לתאים אחרים (שורה 12)
זה מבנה הקוד בתא B12:
קוד:
=B6:B9
וזה מבנה הקוד בתא C12:
קוד:
=C6:F6

דרך ב:
ליצור סדרת מספרים על ידי פונקציית SEQUENCE. (שורה 18)
להרחבה על פונקציית SEQUENCE תוכלו לקרוא כאן וכאן וכאן וכאן.
וזה מבנה הקוד בתא B18:
קוד:
=SEQUENCE(4)
וזה מבנה הקוד בתא C18:
קוד:
=SEQUENCE(1,4)

דרך ג:
ליצור סדרת מספרים על ידי {}, והזנה ידנית של הנתונים. (שורה 24)
וזה מבנה הקוד בתא B24:
קוד:
={1;2;3;4}
וזה מבנה הקוד בתא C24:
קוד:
={1,2,3,4}

דרך ד:
ליצור סדרת מספרים באמצעות פונקציית CHOOSE + מערך {} + הזנה ישירה של הנתונים. (שורה 30)
להרחבה על פונקציית CHOOSE, תוכלו לקרוא כאן
שלקח את זה מכאן.
וזה מבנה הקוד בתא B30:
קוד:
=CHOOSE({1;2;3;4},B6,B7,B8,B9)
וזה מבנה הקוד בתא C30:
קוד:
=CHOOSE({1,2,3,4},B6,B7,B8,B9)

דרך ה - רק בגוגל שיטס:
ליצור סדרת הפניות באמצעות מערך {}. (באקסל לא ניתן להזין הפניות בתוך מערך.) (שורה 36)
וזה מבנה הקוד בתא B36:
קוד:
={B6;B7;B8;B9}
וזה מבנה הקוד בתא C36:
קוד:
={B6,B7,B8,B9}

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

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

כל הדרכים למערכים סיכום.png


לענייננו,
מה אנחנו יכולים ללמוד מכל זה ?
אנחנו רואים נקודה מאד מעניינת ונחוצה - להבין מה זה מערך "מאחורי הקלעים"
.


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

עכשיו אתם כבר וודאי שואלים - מה זה משנה לנו איך המערך עובד?


וכאן אנחנו מגיעים לעיקרו של פרק זה,

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

עכשיו, נשאר לנו רק לשלב את כל הידע שצברנו בפרק 1 ו-2, עם הידע שלמדנו כעת.


וכרגיל - השוואה נוספת בין אקסל וגוגל שיטס:
השוואה מתמטי על מערך.png


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

פונקציית SUM
בתא M9 הפונקציה סוכמת מספרים אמיתיים בהפניה לתא אחר, ולכן זה עובד.
ובתא M10 הפונקציה סוכמת מספרים לא אמיתיים בהפניה לתא אחר, ולכן זה לא עובד.

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

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

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


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





סיכום של כלל הנושאים שלמדנו תוכלו לראות בצילום מסך המצורף.
סיכום שיטס.PNG





איך בדיוק כל זה קשור אלינו ? ? ?

עכשיו וודאי תבואו ותשאלו "מה אתה רוצה" ?
מה אתה מבלבל את השכל ?
מה זה משנה איך בדיוק הדברים עובדים - זה עובד, וכל טוב.


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

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


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

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

הפיתרון:
לכן נצטרך "להתחכם" עליו, ו"להמיר" כל מספר שנחלץ למספר 'אמיתי'.
לאחר מכן, פונקציית SUM יצליח לסכום את הספרות כראוי.

איך נעשה את זה ?
יש שני דרכים לעשות את זה.

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

דרך ב' - "מינוס כפול":
הדרך השניה היא יותר קצרה, ויותר נוחה.

כלל ידוע במתמטיקה אומרת: מינוס מינוס שווה פלוס !

על הנושא המרתק הזה תוכלו לקרוא במאמר הבא של @יעקב ויצמן

בדרך כלל נהוג להשתמש איתו, ל"המרה" של false ו - true למספרים (0/1).
במקרה שלנו נשתמש איתו ל"המרה" ממספר 'לא אמיתי' ל'אמיתי'.

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

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

במילים אחרות - הוא מבצע לנו "המרה" של מספר 'לא אמיתי' למספר 'אמיתי'.

וכעת נוכל לסכום אותו באמצעות פונקציית SUM.

הפלא ופלא !

במאמר הבא נראה ונלמד איך זה משתלב ומתמזג בפועל לנוסחה השלמה ל'גילוי ספרת הביקורת'.


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





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

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

שיהיה לכם הצלחה רבה !

וכל טוב !
על המחבר
נ
חובב אקסל – מומחה בפתרונות חכמים !
לומד כל נושא לעומקו ומנסה להגיע לפתרונות יצירתיים ומדויקים כאחד.

תגובות

מינוס מינוס שווה פלוס
האפשרויות הבאות יחליפו לך את המספר מטקסט למספר:
קוד:
=--"2"
=0+"2"
=1*"2"
=1^"2"
מכולם נראה שהדאבל מינוס הכי תפס, ראיתי את זה בכמה קודים ו-GPT מזכיר את זה הרבה.
 

אולי מעניין אותך גם...

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים

More from נקודה!

שתף את המאמר

למעלה