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

באקסל ובחשבון של בי"ס אין דבר כזה == והאדם צריך להבין מההקשר אם סימן השוויון הבודד מייצג השמה או השוואה.
גם בבי"ס כשנתנו לך משוואות בסגנון:
X+1=Y+2
סימן השוויון הבודד ייצג
השוואה (== בשפת C).
וכשנתנו לך משוואות בסגנון:
X=Y+2
סימן השוויון הבודד ייצג
השמה (= בשפת C).
אם היינו כותבים תוכנה בשפת C שמסמלצת השקעה בשוק ההון אז בהחלט היינו משתמשים ב-"==" אבל אז זה היה הרבה יותר מסובך.
במקום זה השתמשנו באקסל שהוא פשוט אחרי שמבינים את הרעיון המרכזי.
האם המשוואות הללו זהות(1,2)?:
לא בשפת C:
* המשוואה הראשונה מחליפה את התוכן שהיה ב-X עם התוכן החדש: 1
* המשוואה השניה בודקת אם התוכן הנוכחי שקיים ב-X הוא שווה ל-1 ומחזירה את התוצאה אמת/שקר בלי לשנות את התוכן של X
תשים לב שבמשוואה הראשונה אין בדיקות (תוצאה אמת/שקר) ושינינו את התוכן של X.
במשוואה השנייה ביצענו בדיקה (יש תוצאה אמת/שקר) ולא שינינו את התוכן של X.
זו רק דוגמה לאיך אני מקשר את זה.
כלומר, בגלל איך שהמשוואות כתובות בקוד, אני מקשר את H$2 וקורא לה בשפת המשוואות Z1, את Z1 אני משווה לZ.
אני מבין שכך אתה מקשר את הדברים אבל כשרושמים נוסחאות אז צריך את הנוסחה המלאה (סימן שוויון בלי כלום מצד שמאל שלו
בשביל שנבין שמדובר בנוסחה ולא במשוואה ואת כל התוכן של הנוסחה מצד ימין שלו).
וכשתמארים משוואות צריך להשתמש בדברים שקיימים במשוואות (נעלמים, מספרים קבועים, סימני חשבון).
על זה נאמר לא לערבב בשר וחלב
כלומר אפשר אפילו לדלג על השימוש בZ1 ולקרוא לH$2 ישר באמצעות Z.
זו בדיוק הקצרנות שכל הזמן חוזרת ומבלבלת אותך במשך עשרות עמודים.
את הקצרנות אתה יכול להשאיר לשלב שבו אתה שולט בנושא ומצליח להבין את הנוסחאות והמשוואות בלי למצמץ.
עד אז הקצרנות הזו מונעת ממך לזהות טעויות ובכך גורמת לך לכתוב נוסחאות שגויות שמובילות לתוצאות הלא נכונות ולא תמיד לזהות שבכלל יש שם טעות.
זו הסיבה שאני כל הזמן חוזר ל-"מתכון" ומבקש ממך להגדיר את כל חמשת סעיפי המתכון בכל פעם מחדש.
המתכון מכריח אותך להימנע מהקצרנות ובכך יסייע לך לזהות את הטעויות שאתה עושה ולהבין אותן יותר טוב.
בינתיים בכל פעם שדילגת על המתכון זה הוביל לטעויות וחוסר הבנה שגרר לפחות 3-4 תגובות (או יותר) ואז חזרה אחורה.
איך הוא קבוע אם אין $ לפניו?
מה הניסוח הכללי שהגדרנו למפתחות?
נתנו הגדרה
אחידה לכל ארבעת הפרמוטציות האפשריות של המפתחות שבה הגדרת המפתח היא קבועה עם שינוי של מילה בודדת בין פרמוטציה לפרמוטציה.
כשהגדרנו זאת אפילו המלצתי לך בחום לשמור את ההגדרה בצד כי אתה תשתמש בה בעתיד.
אם לא עשית זאת אז זה הזמן לחזור שוב על השרשור, לאתר את ההגדרה ולשמור אותה בצד (ובכך להימנע מהצורך לעשות זאת שוב בעמודה הבאה, ובעמודה שאחריה, ובעמודה שאחריה...).
אני יודע שצריך לפרק אותה לשני חלקים (שני צדדי משוואה),
1) ROW
2) H$2
קרוב.
במקרה הזה אין שתי נוסחאות שונות אלא נוסחה חיצונית ונוסחה פנימית.
נוסחת ROW היא נוסחה חיצונית שמקבלת את התוצאה של הנוסחה הפנימית H$2.
צדקת שיש כאן שתי נוסחאות אבל הן לא משני צדדי סימן השוויון (כי אין כאן השוואה/השמה) אלא נוסחה אחת שמוכלת בתוך נוסחה אחרת.
אני לא יכול להתקדם בהגדרה, לדוגמה של ROW, כי אני לא מבין מדוע כתבתי:
מה שחסר לך זה הפרמטר שנוסחת ROW מקבלת שהוא למעשה התוצאה של הנוסחה השניה H$2.
מה שעושים במקרה שכזה הוא שמגדירים את הנוסחה H$2 קודם ואח"כ מגדירים את הנוסחה של ROW כך שהיא מקבלת את התוצאה שקיבלנו.
ב 1) אני יודע שיש סימן שיוויון ואז כתיב אקסלי אז השלב הזה מובן לי.
נכון.
מה שחסר לך זה הפרמטר שנכנס בתוך הנוסחה (H$2) - הוא עדיין צריך להיות מופיע שם כי הוא חלק מהנוסחה האקסלית.
ב 2) אני יודע שמשוואה צריכה להיות בעלת שני צדדים. ולכן אני מבין מאוד מאוד חלקית למה T1 נמצא.
T1 צריך לייצג את הנוסחה ROW עם הפרמטר שלה.
T מייצג את התוצאה שהתקבלה מהנוסחה.
תשים לב ש-T צריך להיות מצד שמאל של סימן השוויון ו-T1 מצד ימין.
השוקולד נכנס למשלוח המנות - לא משלוח המנות נכנס לשוקולד.
אני לא מבין מה T1 עושה כאן
T1 זה הייצוג החשבונאי של נוסחת ה-ROW עם הפרמטר שהיא מקבלת כך שהוא הוגדר נכון (למעט העובדה שהוא בצד הלא נכון של סימן השוויון).
כאן הגדרת את הנוסחה בצורה נכונה.
גם הגדרת את המשוואה נכון (עד כדי הצלבת הסדר של סימן השוויון כמו שעשית ב-T).
עכשיו חסרים לך שלושת הסעיפים האחרים של המתכון:
* הגדרה מילולית של Z1.
* הגדרה מילולית של התוצאה Z
* התא שבו הנוסחה נרשמת.
אולי יש לך דרך נוספת להסביר לי ולעזור לי היכן שההבנה שלי לא מלאה?
אני חושב שהדרך היא להתמקד בדברים הקטנים ולהמשיך רק אחרי שהם מובנים.
במלים אחרות: נגדיר את הנוסחה הכי פנימית קודם "H$2=" ורק אחרי שנבין את ההגדרה שלה על כל 5 סעיפי המתכון אנחנו נמשיך לנוסחה שעוטפת אותה "ROW(H$2)=".
אחרי שנסיים עם הנוסחה הזו נחזור שוב על שאר הנוסחאות הפנימיות של עמודה C
לפי המתכון שלנו.
כשנסיים ויהיו לנו
כל המתכונים המלאים בצורה מסודרת מול העיניים אנחנו נוכל להגדיר את המתכון של הנוסחה הכי חיצונית של עמודה C שמתחיל בתנאי IF.
אני ממליץ לך בחום להקפיד על אחידות בלי לקצר תהליכים כי לדעתי זה מאוד יעזור לך להבין מה אתה עושה.