לומד לבנות אקסל

19yoboy

Well-Known Member
הצטרף
12/1/24
שאתה נותן ל-ROW היא נותנת לך בחזרה "מספר שורה" שמתאים לאותו מפתח תא.
בסדר גמור.

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

האם המספר "2" עצמו יכול להפוך להיות "3" או "50"? - לא! 2 הוא תמיד 2.
גם כשרושמים 2+3=5 ה-2 נשאר 2 ולא משתנה לעולם - הוא קבוע.
אי לכך, איך אפשר להתייחס אל $ בהגדרה מילולית (ללא ציון משתנים קבועים)?

אני מתייחס ל-X2 כי הוא מאוד דומה למה שיש לנו כאן.
X2, נוסחה:
קוד:
$A2
הוא הוגדר מילולית:
* המשתנה X2 הוא הערך המתקבל בתא שמפתחו הוא עמודה A ואותה השורה.

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

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

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

השורה לא היתה קבועה ועדיין תיארנו אותה בצורה נכונה.
"ואותה השורה".

אצלי זה:

"ואותה העמודה"?

בכלל לא מובן לי הצירוף של האות "ו" ל - "אותה השורה" מההגדרה המילולית של X2.

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

daat99

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

לא רואה דימיון בין המקרים
בשניהם יש רק $ אחד והוא מקבע פעם אחת עמודה ובשניה שורה
מסתבר שאתה כן רואה את הדימיון בין המקרים ;)

אפשר להעתיק אותה לכל תא בגיליון. כל פעם אני אקבל תוצאה אחרת.
ובדיוק בגלל זה ההגדרה המילולית שנתת אינה נכונה.
תחזור להגדרה המילולית שנתנו ל-X2 למשל - בכל תא שאליו נעתיק את הנוסחה אנחנו תמיד נקבל מפתח שמתואר בדיוק באותה הצורה:
עמודה A ואותה השורה
נעתיק לתא J5 ונקבל: עמודה A ואותה השורה (5)
נעתיק לתא X9 ונקבל: עמודה A ואותה השורה (9)
וכו'

כמעט בכל העתקה.
ממש לא.
תנסה:
תעתיק את הנוסחה לתא J3 ותבדוק מה קיבלת.
אחר כך תעתיק לתא J4, J5 ו-J6 ותבדוק מה קיבלת.
לפי הגדרתך אתה צריך לקבל עמודות שונות ("העמודה שרירותית") בתאים השונים.

בהעתקות בעמודות דומות אני לא אקבל עמודה שונה
עמודה J ועמודה I דומות (גם קרובות מבחינת ה-ABC וגם דומות מבחינת איך שכותבים אותן).
האם בתאים J3 ו-I4 אתה מקבל את אותה העמודה?

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

בכלל לא מובן לי הצירוף של האות "ו" ל - "אותה השורה"
הגדרת מפתח רגילה: "עמודה X ושורה Z"
אתה שם לב לאות "ו"?
המפתח מורכב משני דברים:
1. עמודה
2. שורה
האות "ו" מחברת את שניהם ביחד:
1+2. שורה ועמודה
כשרוצים לפרט:
שורה X ועמודה Z

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

זה לא מה שאנחנו מחפשים
למה לא?
האם זה מתאר את השינויים בנוסחה כשאתה מעתיק אותה?
כשהנוסחה מועתקת לתא I4, איזו עמודה אתה מקבל?
כשהנוסחה מועתקת לתא J5 (עמודה אחת אחרי עמודה I4), איזו עמודה אתה מקבל?
כשהנוסחה מועתקת לתא H6 (עמודה אחת לפני עמודה I4), איזו עמודה אתה מקבל?

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

19yoboy

Well-Known Member
הצטרף
12/1/24
כשמגדירים אותו כמשהו שיכול לקבל ערכים שונים אז צריך לציין מפורשות אלו ערכים יכולים להתקבל או איך הם מתקבלים.
אפשר דוגמה?

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

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

-Z1 מייצג תא שמפתחו הוא שורה 2 ואותה העמודה.

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

נעתיק לתא J5 ונקבל: עמודה A ואותה השורה (5)
נעתיק לתא X9 ונקבל: עמודה A ואותה השורה (9)
וכו'
מה שמשתנה הוא הנוסחה הפנימית (השורה) ולא התוצאה.

תעתיק את הנוסחה לתא J3 ותבדוק מה קיבלת.
אחר כך תעתיק לתא J4, J5 ו-J6 ותבדוק מה קיבלת.
לפי הגדרתך אתה צריך לקבל עמודות שונות ("העמודה שרירותית") בתאים השונים.
אני מקבל את אותה העמודה בנוסחה הפנימית שאני מבצע את ההעתקות האלו.
למה זה לא נחשב עמודה שרירותית?..

עמודה J ועמודה I דומות (גם קרובות מבחינת ה-ABC וגם דומות מבחינת איך שכותבים אותן).
האם בתאים J3 ו-I4 אתה מקבל את אותה העמודה?
לא. כוונתי הייתה כדוגמה שהראית עם J3,4,5,6 .

הגדרת מפתח רגילה: "עמודה X ושורה Z"
אתה שם לב לאות "ו"?
המפתח מורכב משני דברים:
1. עמודה
2. שורה
האות "ו" מחברת את שניהם ביחד:
1+2. שורה ועמודה
כשרוצים לפרט:
שורה X ועמודה Z
אפשר הסברון על אותה העמודה (במקרה שלנו) ?
מוסיף שאת הדוגמה של X2 אני מבין שאני מקבל את המספר של אותה השורה אבל כאן זה טיפה מסובך או שלא בדיוק, יש לי את זה בהבנה חלקית.

האם זה מתאר את השינויים בנוסחה כשאתה מעתיק אותה?
כשהנוסחה מועתקת לתא I4, איזו עמודה אתה מקבל?
כשהנוסחה מועתקת לתא J5 (עמודה אחת אחרי עמודה I4), איזו עמודה אתה מקבל?
כשהנוסחה מועתקת לתא H6 (עמודה אחת לפני עמודה I4), איזו עמודה אתה מקבל?
אחת ימינה לעמודה אחרי, שמאלה ל-לפני.

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

שבת שלום :)
 

daat99

מייסד
מנהל
הצטרף
22/11/15
אפשר דוגמה?
אותה השורה
:)

-Z1 מייצג תא שמפתחו הוא שורה 2 ואותה העמודה.
זה הרבה יותר קרוב אבל האם זו באמת אותה עמודה?
אנחנו כותבים את הנוסחה בתא G2 - האם אנחנו מקבלים את אותה העמודה "G"?

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

"ואותה העמודה" לא ככ מובן לי.. אני צריך איזשהוא הקשר.
אפשר הסברון על אותה העמודה (במקרה שלנו) ?
העמודה שבה רשומה הנוסחה שאנחנו מנסים לחשב.
אנחנו כותבים את הנוסחה בתא G2 אבל אח"כ מעתיקים אותה לתאים אחרים.
כשאנחנו כותבים "אותה העמודה" של תא G2 היא "G" וכשאנחנו מעתיקים אותה ל-J2 למשל "אותה העמודה" תהיה "J".

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

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

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

לא. כוונתי הייתה כדוגמה שהראית עם J3,4,5,6 .
דומה וזהה אלו דברים שונים :)
עמודות "דומות" אם יש ביניהן דימיות.
עמודות "זהות" אם כל הנתונים שלהן הם אותו הדבר (במקרה שלנו זה קורה רק אם העמודה היא אותה עמודה כי אחד הנתונים הוא האות שמייצגת את העמודה והיא חייבת להיות אותה האות בשתי העמודות = אותה העמודה).

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

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

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

כשהנוסחה מועתקת לתא I4, איזו עמודה אתה מקבל?
אין קשר בין ההעתקה לבין ההגדרה המילולית של המשתנים.
ההגדרה המילולית צריכה להיות נכונה גם בתא המקורי G2 וגם בכל התאים האחרים שאליה הנוסחה תועתק בהמשך (כגון I4 לצורך הלימוד).
 

19yoboy

Well-Known Member
הצטרף
12/1/24
זה הרבה יותר קרוב אבל האם זו באמת אותה עמודה?
אנחנו כותבים את הנוסחה בתא G2 - האם אנחנו מקבלים את אותה העמודה "G"?
אתה צודק.
אני צריך להחליף את "אותה העמודה" ב: עמודה לפניה/אחריה.
2 דברים:
-אני צריך למצוא את החוקיות של לפניה/אחריה בהקשרנו.
-האם ההחלפה צריכה להיות מותנית בעמודה הנוכחית? לא חושב, מפני שאין באמת עמודה נוכחית.
למה אני שואל?: איך הקורא יבין על איזו עמודה מדובר כאשר אני כותב לפניה/אחריה?

אנסה לדייק את זה קצת יותר:
-Z1 מייצג תא שמפתחו הוא שורה 2 ועמודה לפני/אחרי __ , _ פעמים.

*__ מייצג מפתח עמודה, _ מייצג מספר פעמים של הזזה.

אנחנו כותבים את הנוסחה בתא G2 אבל אח"כ מעתיקים אותה לתאים אחרים.
כשאנחנו כותבים "אותה העמודה" של תא G2 היא "G" וכשאנחנו מעתיקים אותה ל-J2 למשל "אותה העמודה" תהיה "J".
תודה על החידוד - אותה העמודה לפני/אחרי ___ (שאני לא יודע מהו).. כמה מסובך כבר יכול להיות להגדיר מילולית דבר שכזה..

אם אתה מקבל את אותה העמודה אז העמודה היא לא "שרירותית" אלא יש לה חוקיות מסויימת.
אתה צריך להגדיר את החוקיות הזו בתיאור המילולי.
לפי מה שאני מצליח לראות:
שאני מעתיק את G2 לתא H2 אני מקבל בנוסחה את עמודה I וכך הלאה.
זה אומר שהחוקיות היא עמודה אחריה.

-Z1 מייצג תא שמפתחו הוא שורה 2 ועמודה אחת אחרי העמודה הנוכחית. BOOM?

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

דומה וזהה אלו דברים שונים :)
עמודות "דומות" אם יש ביניהן דימיות.
עמודות "זהות" אם כל הנתונים שלהן הם אותו הדבר (במקרה שלנו זה קורה רק אם העמודה היא אותה עמודה כי אחד הנתונים הוא האות שמייצגת את העמודה והיא חייבת להיות אותה האות בשתי העמודות = אותה העמודה).
תודה על ההוכחה של הכוח של דיוק במילים ובכוונות.
 

daat99

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

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

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

לאט לאט אתה נחשף לקשיים שההרגלים שאני מנסה להקנות לך מנטרלים :)

כמה מסובך כבר יכול להיות להגדיר מילולית דבר שכזה..
תגיד לי אתה - הגדרנו דבר שכזה בדיוק (רק על שורות במקום על עמודות - אין הבדל באמת) כשעבדנו על X2.

זה אומר שהחוקיות היא עמודה אחריה.
נכון מאוד.

-Z1 מייצג תא שמפתחו הוא שורה 2 ועמודה אחת אחרי העמודה הנוכחית. BOOM?
בדיוק!

עכשיו חסרה לך ההגדרה המלאה לפי המתכון עם כל חמשת סעיפיו.
 

19yoboy

Well-Known Member
הצטרף
12/1/24
זו גם הסיבה שהתעקשתי שתכתוב את התא שבו כתובה הנוסחה - בשביל שנדע מה זו העמודה הנוכחית ומה זו השורה הנוכחית.
תודה!

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

כיף.

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

"
1. המשוואה עצמה "H=???"
2. הגדרת המשתנים שהשתמשת בהם במשוואה (רמז: צריך להיות לך בדיוק משתנה אחד והוא צריך להיות מוגדר בצורה מאוד דומה אבל אל זהה לגמרי ל-X1 שהגדרת כאן)
3. תרגום המשוואה לנוסחה שנרשמת בתא H3
4. כתיבת הנוסחה בתא H3 ובדיקה שהיא מחזירה את המספר הנכון (רמז: מספר השורה הוא 3)
5. העתקת הנוסחה בהעתקה מיוחדת של נוסחאות לתאים אחרים בגיליון (כגון G6, H7, I2) ווידוא שתמיד מוחזרת התוצאה הנכונה (רמז: התוצאה תמיד צריכה להיות 3 כי כך הגדרנו את H)
"
============
מתא G2:

קוד:
1)=(H$2)
2)Z=Z1
-Z1 מייצג תא שמפתחו הוא שורה 2 ועמודה אחת אחרי העמודה הנוכחית.
-Z מייצג מפתח תא (?).
============

אני מתקשה להגדיר מילולית את Z(אני מניח שההגדרה הנוכחית לא מדויקת כלל).
אני חוזר ל-מה שחשבתי בהתחלה.
-Z בעיני הוא בדיוק Z1 בהגדרתו המילולית.
-שאני מנסה לחשוב על זה,
אני מקבל מהנוסחה H$2 מפתח תא שהוא פרמטר שמועבר לנוסחה היותר חיצונית שהיא ROW.
-Z בעיני צריכה להיות הגדרה יותר רשמית ופחות מפורטת מZ1.
זקוק לעזרה בבקשה.
 

daat99

מייסד
מנהל
הצטרף
22/11/15
התא הנוכחי (לדוגמה G2) הוא כבר לא התא החדש אלא הישן. או שאני לא הבנתי אותך.
התא G2 זה התא שעליו אנחנו עובדים כשאנחנו מגדירים את הנוסחה והמשתנים.
"התא הנוכחי" הוא כל תא שאליו אנחנו מעתיקים את הנוסחה ולא רק התא המקורי שבו רשמנו אותה.

טעיתי שלא שמרתי את חמשת הסעיפים בסיכומון.
אבל שמרת אותם:
נכתב ע"י סיכומון:
  • כל נוסחה מורכבת מכל המידע הזה:
1. משוואה שמייצגת את מה שאנחנו רוצים להציג (בצד אחד של השוויון יש אות שמייצגת את התוצאה שמיוצגת ע"י אות בודדת (כגון P) ובצד השני יש את כל המשתנים שמיוצגים ע"י אותיות ואולי ממוספרות כגון P1\P2, מספרים קבועים וסימני החשבון).
2. תיאור מילולי של התוצאה עצמה ואינו כולל התייחסות למספרים/משתנים כלשהם.
3. תיאור מילולי של כל המשתנים שכלולים במשוואה.
4. את הנוסחה האקסלית עצמה (סימן שוויון שמשמאלו אין כלום ומימינו יש נוסחאות אקסליות, מספרים קבועים, מפתחות של תאים, סימני חשבון ומחרוזות טקסט - כל מה שאקסל יודע לעבד בשביל לספק תוצאה).
5. את התא שבו הנוסחה רשומה בשביל שיהיה לנו ייחוס להבנת התוצאה במידה ומפתחות התאים דורשים זאת.
בנוסחה באקסל לא רשום סוגריים אז לא צריך אותם גם כאן.
תזכור: הנוסחה זו העתקה טקסטואלית של מה שרשום באקסל ללא שינויים כלשהם (כולל סימן השוויון בהתחלה)/

-Z1 מייצג תא שמפתחו הוא שורה 2 ועמודה אחת אחרי העמודה הנוכחית.
נכון.
מכיוון שהפער בין העמודות הוא של עמודה אחת בלבד אז יש לנו דרך אחרת לרשום את אותו הדבר:
-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הבאה (או: העוקבת).

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

תשים לב שלא התייחסתי בתיאור המילולי לעמודה בכלל כי מבחינת התוצאה (ומשמעות התוצאה) העמודה לא משנה כלום.

-Z בעיני הוא בדיוק Z1 בהגדרתו המילולית.
לפעמים זה נכון אבל Z צריך להכיל את המשמעות של התוצאה (במקרה שלנו "מפתח של תא מהשורה הראשונה") בעוד Z1 מתאר רק את המידע עצמו (במקרה שלנו "מפתח התא")

אני מקבל מהנוסחה H$2 מפתח תא שהוא פרמטר שמועבר לנוסחה היותר חיצונית שהיא ROW.
נכון מאוד.
ROW מקבלת מפתח של תא ומחזירה את מספר השורה שלו.
מכיוון ש-Z הוא "מפתח של תא מהשורה הראשונה" אז ROW תקבל "מפתח של תא מהשורה הראשונה" ולכן תחזיר לנו את התוצאה "המספר של השורה הראשונה".

-Z בעיני צריכה להיות הגדרה יותר רשמית ופחות מפורטת מZ1.
דרך אחרת לנסח זאת:
Z מגדירה את המשמעות של התוצאה.

זקוק לעזרה בבקשה.
בשביל זה אנחנו עדיין כאן ;)
 

19yoboy

Well-Known Member
הצטרף
12/1/24
זה התא שעליו אנחנו עובדים כשאנחנו מגדירים את הנוסחה והמשתנים.
"התא הנוכחי" הוא כל תא שאליו אנחנו מעתיקים את הנוסחה ולא רק התא המקורי שבו רשמנו אותה.
מבין.

אבל שמרת אותם:
מיד מוסיף - תודה.

בנוסחה באקסל לא רשום סוגריים אז לא צריך אותם גם כאן.
תזכור: הנוסחה זו העתקה טקסטואלית של מה שרשום באקסל ללא שינויים כלשהם (כולל סימן השוויון בהתחלה)/
תודה על ההערה.
-גם בהגדרת Z אני צריך לכתוב את כלל הנוסחה מתא G2?
או שרק את החלק של מפתח התא H$2?

-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הבאה (או: העוקבת).
דרך יפה להציג את זה, איך המשתמש ידע שמדובר על העמודה הבאה אחרי העמודה הנוכחית?
לפי דעתי צריך להוסיף את העמודה הנוכחית לסיפור.

המשמעות של התוצאה.
Z מגדירה את המשמעות של התוצאה.
צירוף מילים שלא קל להבנה.

"תא מהשורה הראשונה שבה יש נתונים בטבלה".
ואת המשפט הזה אתה יכול לכתוב כי אתה כבר יודע שיש $ לפני השורה ה2 (שהיא בעצם הראשונה בגיליון)?
מדהים איך שהצלחת להגדיר, לא יודע אם הייתי חושב על זה גם כך.

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

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

daat99

מייסד
מנהל
הצטרף
22/11/15
-גם בהגדרת Z אני צריך לכתוב את כלל הנוסחה מתא G2?
לא.
Z מספק תיאור מילולי של התוצאה שמתקבלמת מהנוסחה הפנימית.
הוא למעשה מסביר לנו מה אנחנו רוצים להשיג מהנוסחה הפנימית במילים שאנחנו יכולים להבין במקום בנוסחאות/משוואות/אותיות/מספרים מוזרים.

אחת הדרכים הקלות לבדוק שאנחנו מקבלים את מה שאנחנו רוצים הוא להתחיל מלהסביר מה אנחנו רוצים לקבל מלכתחילה במילים פשוטות :)

איך המשתמש ידע שמדובר על העמודה הבאה אחרי העמודה הנוכחית?
מכיוון שבהקשר של נוסחאות, תמיד מתייחסים לתא הנוכחי שהוא נמצא בעמודה הנוכחית ובשורה הנוכחית :)

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

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

משמעות התוצאה: משלוח מנות עם שוקולד ואוזני המן.

ואת המשפט הזה אתה יכול לכתוב כי אתה כבר יודע שיש $ לפני השורה ה2 (שהיא בעצם הראשונה בגיליון)?
את המשפט הזה אני יכול לכתוב כי:
1. אנחנו הגדרנו את ה-$ להיות לפני מספר השורה 2 במפתח
ובנוסף:
2. בחרנו את המספר 2 כי הוא כרגע מייצג את השורה הראשונה שבה יש נתונים בטבלה

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

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

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

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

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

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

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

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

19yoboy

Well-Known Member
הצטרף
12/1/24
2. בחרנו את המספר 2 כי הוא כרגע מייצג את השורה הראשונה שבה יש נתונים בטבלה

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

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

============
מתא G2:
קוד:
=H$2
-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הבאה.
-Z מייצג מפתח של תא מהשורה הראשונה שבה יש נתונים בטבלה.
============
 

daat99

מייסד
מנהל
הצטרף
22/11/15
אפשר להיות יותר כלליים ולהחליף את המספר 2 באמצעות פונקציה כלשהיא?
זה בדיוק התפקיד של הנוסחה הפנימית.
תזכור שבהתחלה הנוסחה החיצונית (זו עם התנאי שבודק אם אנחנו בשורה הראשונה עם הנתונים) השוותה את מספר השורה למספר 2.
מה שאנחנו עושים בתא G2 זה להחליף את המספר 2 שהשתמשנו בו ממקודם בנוסחה שתחזיר לנו את מספר השורה הראשונה עם הנתונים לבד.

============
מתא G2:
...
============
* הצגת התא שבו רשמנו את הנוסחה נכונה
* הנוסחה נכונה - בדיוק כמו באקסל
* חסרה המשוואה (Z=Z1)
* התיאור המילולי של Z1 ושל Z הוא נכון


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

יש לנו שני דרכים להשיג זאת:
1. במקום לכתוב את הנוסחה בתא G2 אנחנו נכתוב אותה בתא H2
2. נמשיך להשתמש בתא G2 ונחליף את הנוסחה להיות G$2=

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


נ.ב.
תמחק בבקשה את התוכן של תא H2 בשביל שתוכל לזהות טעות שיש לך בעמודה C - אל תתקן אותה כרגע.
 

19yoboy

Well-Known Member
הצטרף
12/1/24
מה שאנחנו עושים בתא G2 זה להחליף את המספר 2 שהשתמשנו בו ממקודם בנוסחה שתחזיר לנו את מספר השורה הראשונה עם הנתונים לבד.
אני נזכר.
אני אחדד ואשאל, אם יש איזושהי פונקציה של אקסל שמסוגלת להחליף את הנוסחה הפנימית H$2 בשורה הראשונה של הנתונים בגיליון.

* הצגת התא שבו רשמנו את הנוסחה נכונה
* הנוסחה נכונה - בדיוק כמו באקסל
* חסרה המשוואה (Z=Z1)
* התיאור המילולי של Z1 ושל Z הוא נכון
============
מתא G2:

קוד:
1)=H$2
2)Z=Z1
-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הבאה.
-Z מייצג מפתח של תא מהשורה הראשונה שבה יש נתונים בטבלה.
============

2. נמשיך להשתמש בתא G2 ונחליף את הנוסחה להיות G$2=
אפעל לפי הדרך הזו.
אזי:

תשים לב שבשני המקרים אתה צריך לעדכן גם את ההגדרה המילולית של Z1 כך שהיא תהיה עדיין נכונה.
============
מתא G2:

קוד:
1)=G$2
2)Z=Z1
-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הבאה.
-Z מייצג מפתח של תא מהשורה הראשונה שבה יש נתונים בטבלה.
============

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

תמחק בבקשה את התוכן של תא H2 בשביל שתוכל לזהות טעות שיש לך בעמודה C - אל תתקן אותה כרגע.
בהתחלה, הטעות לא הייתה מובנת לי, עכשיו היא מובנת. בכל מקרה, אני לא מתקן.
 

daat99

מייסד
מנהל
הצטרף
22/11/15
אני אחדד ואשאל, אם יש איזושהי פונקציה של אקסל שמסוגלת להחליף את הנוסחה הפנימית H$2 בשורה הראשונה של הנתונים בגיליון.
אקסל לא יודע להבדיל בין השורות של הנתונים לשורה של הכותרות בלי שאנחנו נגיד לו.

אפעל לפי הדרך הזו.
לא תיקנת את ההגדרה של Z1.

*למה אני צריך לשנות את ההגדרה המילולית של Z1? היא זהה לאותו הניסוח עם מפתח תא H$2.
תבדוק את עצמך.
לפי ההגדרה המילולית של Z1 המפתח מייצג את העמודה הבאה.
האם העמודה שבנוסחה היא עדיין העמודה הבאה?

רמז:
הנוסחה רשומה בתא G2 שהוא חלק מעמודה G.
מה האות של העמודה הבאה אחרי העמודה G?

-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הנוכחית.
נכון מאוד.

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

בהתחלה, הטעות לא הייתה מובנת לי, עכשיו היא מובנת. בכל מקרה, אני לא מתקן.
מעולה.
אל תתקן אותה (אנחנו נתקן ביחד בהמשך) אבל כן תמחק את התוכן של תא H2 כי הוא יבלבל אותך.
 

19yoboy

Well-Known Member
הצטרף
12/1/24
אקסל לא יודע להבדיל בין השורות של הנתונים לשורה של הכותרות בלי שאנחנו נגיד לו.
אוקיי.

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

תאחד את ההגדרה הנכונה הזו עם השינוי של הנוסחה מלמעלה בשביל שיהיה לך מתכון מלא (ותשמור אותו כי אתה תשתמש בו עוד הרבה פעמים).
============
מתא G2:

קוד:
1)=G$2
2)Z=Z1
-Z1 מייצג תא שמפתחו הוא שורה 2 והעמודה הנוכחית.
-Z מייצג מפתח של תא מהשורה הראשונה שבה יש נתונים בטבלה.
(מוסיף לסיכומון).
============

תמחק את התוכן של תא H2
בוצע.

לגבי T.
============
מתא G2:

קוד:
1)=ROW(G$2)
2)T=T1
-T1 מייצג את השורה הנוכחית.
-T מייצג את השורה הנוכחית.
============

שאלות שיש לי:
-האם חסר לי משתנה נוסף?
-האם אפשר להשתמש/להציב בT כך:
קוד:
=IF(row()=(T), $O$1, $O$2)
לפחות לא באקסל, אלא בראש, לוודא שאני מצליח להבין את הנוסחה החיצונית - חיצונית (IF) בשילוב הפנימיות שעבדנו עליהן.

מהו השלב הבא?
 

daat99

מייסד
מנהל
הצטרף
22/11/15
השאלה אם על סמך בדיקה של העתקה במספר שרירותי של הנוסחה לתאים אחרים באמת יכולה לספר לי על החוקיות.
אם אני מעתיק סתם דוגמה ב4 תאים וההגדרה יוצאת לי נכונה אבל בתא החמישי היא כבר לא נכונה, איך אפשר להימנע מכך.
מקווה שהשאלה ברורה.
על ידי כיסוי כל המטריצה:
* שורה לפני/אחרי/אותה השורה.
* עמודה לפני/אחרי/אותה העמודה.
בסך הכל 9 תאים.

נ.ב.
זה לא חייב להיות בדיוק 1 לפני/אחרי זה יכול להיות הרבה אחרי/לפני כמו למשל כשבדקנו את הנוסחה מ-G2 בתא I5.

============
מתא G2:
מעולה.
זו הנוסחה הפנימית של תא G2.
עכשיו צריך להגדיר את הנוסחה החיצונית.

אני ממליץ לך להתחיל מההגדרה המילולית של התוצאה (עם המשמעות) שלה.
קודם תנסה לענות על השאלה: מה אנחנו מנסים להשיג בנוסחה החיצונית?

לצורך המחשה: מהנוסחה הפנימית ניסינו להשיג מפתח של תא שנמצא בשורה הראשונה של הנתונים שבטבלה.
הנוסחה החיצונית לוקחת את התוצאה הזו ונותנת אותה לנוסחת ROW - מה אנחנו מקבלים בחזרה?

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

-T מייצג את השורה הנוכחית.
הטם התוצאה של הנוסחה החיצונית היא "שורה"?
איך בכלל מייצגים "שורה" כתוצאה?

תזכור שאפילו בנוסחה הפנימית כשהשתמשנו בתא אנחנו לא אמרנו שהתוצאה היא "תא" אלא "מפתח של תא" שזה משהו שיכול להצביע על תא (אבל אל התא עצמו).

-האם חסר לי משתנה נוסף?
לא - יש כאן משתנה בודד אבל פועלת עליו הנוסחה ROW ואתה צריך להתייחס אליה בתיאור המילולי.
בנוסף ה-T1 צריך להיות בדיוק ה-Z שהיה לנו ממקודם כך שההגדרה שלנו לא כל כך מתאימה כאן.

-האם אפשר להשתמש/להציב בT כך:
אנחנו עוד לא שם אז תחכה עם זה.
כשיהיה לנו T מוכן ונכון אנחנו נחזור לנוסחה החיצונית מעמודה C.

מהו השלב הבא?
להגדיר את המתכון של T בצורה נכונה על כל חלקיו.
 

19yoboy

Well-Known Member
הצטרף
12/1/24
על ידי כיסוי כל המטריצה:
* שורה לפני/אחרי/אותה השורה.
* עמודה לפני/אחרי/אותה העמודה.
בסך הכל 9 תאים.
תודה רבה.

זה לא חייב להיות בדיוק 1 לפני/אחרי זה יכול להיות הרבה אחרי/לפני כמו למשל כשבדקנו את הנוסחה מ-G2 בתא I5.
לא הבנתי בדיוק.
האם הכוונה שלך היא שלא חייב שהחוקיות תהיה העמודה העוקבת אלא כמה עמודות עוקבות? אם כן, אני מבין.

זו הנוסחה הפנימית של תא G2.
שמרתי בסיכומון.

עכשיו צריך להגדיר את הנוסחה החיצונית.
אנחנו מדברים על:
קוד:
=ROW(G$2)
(בעיקר החלק של ROW)
נכון?

אני ממליץ לך להתחיל מההגדרה המילולית של התוצאה (עם המשמעות) שלה.
קודם תנסה לענות על השאלה: מה אנחנו מנסים להשיג בנוסחה החיצונית?
אני מנסה לקבל מהנוסחה החיצונית (ROW) את מספר השורה הנוכחית.
אז אפשר להגיד שT מייצג בקו הסיום את השורה הנוכחית.
בנוסף, אפשר להגיד שT1 מייצג פרמטר (מפתח של תא) שמחושב בתוך הפונקציה החיצונית (ROW) - מה שנותן לי את T.

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

T1 זה בדיוק ה-Z שהשגנו ממקודם.
למה?

החיצונית היא "שורה"?
איך בכלל מייצגים "שורה" כתוצאה?
באמצעות מספר.. במקרה שלנו 2.
מה הבעיה?

תזכור שאפילו בנוסחה הפנימית כשהשתמשנו בתא אנחנו לא אמרנו שהתוצאה היא "תא" אלא "מפתח של תא" שזה משהו שיכול להצביע על תא (אבל אל התא עצמו).
אנסה לדייק למרות שאני עדיין מחכה להסבר ברשותך:

-T1 מייצג את השורה הנוכחית של מפתח התא(?).

בנוסף ה-T1 צריך להיות בדיוק ה-Z שהיה לנו ממקודם כך שההגדרה שלנו לא כל כך מתאימה כאן.
T1 מייצג את ROW.
Z מייצג מפתח של תא מהשורה הראשונה שבה יש נתונים בטבלה.

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

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

אנחנו עוד לא שם אז תחכה עם זה.
קיבלתי.

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

יום נעים:)!
 

daat99

מייסד
מנהל
הצטרף
22/11/15
האם הכוונה שלך היא שלא חייב שהחוקיות תהיה העמודה העוקבת אלא כמה עמודות עוקבות? אם כן, אני מבין.
הבדיקה לא חייבת להיות בעמודה הקודמת אלא כמה עמודות קודם לכן.
החוקיות עדיין צריכה להתקיים בכולן.

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

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

אז אפשר להגיד שT מייצג בקו הסיום את השורה הנוכחית.
אפשר לומר זאת אבל זה לא מה שאנחנו רוצים שהוא ייצג.
תזכור שבשביל זה אתה השתמשת כבר בנוסחה ()row= בלי פרמטרים.
תשאל את עצמך - אם כבר היתה לי נוסחה שעושה זאת בלי פרמטרים אז למה אני צריך את הפרמטרים בשביל להשיג את אותו הדבר?

רמז:
אתה צריך את הפרמטרים...

את השורה הנוכחית הראשונה שיש בה נתונים מספריים בטבלה.
זה יותר קרוב אבל עדיין יש כאן טעות שאתה גורר כבר הרבה זמן בהגדרה.
האם הנוסחה ROW מחזירה שורה?
אתה זוכר ששאלתי אותך מה התוצאה של "שורה"+5? (או משהו בסגנון)?

מה מוגדר בדף העזרה של הנוסחה ROW שהיא מחזירה (תצטט את המלל בבקשה ואז תסביר במילים שלך איך אתה מפרש אותו)?

ממש כתבתי מחדש את Z עכשיו..
לא באמת.
Z החזיר לנו מפתח של תא.
"מפתח של תא" זה לא "שורה".

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

במלים אחרות המשוואה של הנוסחה החיצונית יכולה להיות רשומה כך: T=Z
או כך: T=T1
תזכר בנוסחה החיצונית של ה-DATE בעמודה B שבה הגדרנו את המשוואה עם המשתנים X, Y ו-Z שהם גם התוצאות של הנוסחאות הפנימיות.

תחשוב על הפסודו קוד הבא שמתאר גם את הפונקציה הפנימית וגם את החיצונית ומשתמש בפונקציית ROW של אקסל:
קוד:
public Cell GetZ() //inner function
{
    CellKey z = new CellKey();
    z.row = 2;
    z.column = Global.CurrentCell.Column;
    return z;
}

public int GetT()
{
    int rowNumber;
    CellKey t1 = GetZ();
    rowNumber = Row(t1);
    return rowNumber;
}
באמצעות מספר.. במקרה שלנו 2.
מה הבעיה?
זו הבעיה:
מה התוצאה של "שורה + 5"?
"שורה" ו-"מספר" אלו דברים שונים.

תחשוב שוב על תכנות וניסיון לבצע חיבור בין []char לבין int - זה לא עובד.

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

T1 מייצג את ROW.
לא - T1 מייצג את הפרמטר ש-ROW מקבלת.

אתה זוכר מבי"ס שלימדו אותך דברים בסגנון:
f(x)=x+5
גם כאן זה דומה:
f(Z) = ROW(Z) = מספר השורה של תא שמיוצג ע"י מפתח Z
T = f(Z)

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

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

איזה משתנה. קצת לא ברור.
המשתנה שאמור לייצג את הנוסחה G$2 ונשלח כפרמטר לנוסחה ROW.
 

19yoboy

Well-Known Member
הצטרף
12/1/24
מה התוצאה של הנוסחה כשהיא מועתקת לתא I5?
קוד:
=ROW(I$2)
כעמט נכון.
האם אתה באמת מנסה להשיג את מספר השורה הנוכחית כשהנוסחה רשומה בתא I5?
אז אני מנסה להשיג את מפתח התא? CELL REFERENCE בעצם.

אפשר לומר זאת אבל זה לא מה שאנחנו רוצים שהוא ייצג.
לא ברור.

תזכור שבשביל זה אתה השתמשת כבר בנוסחה ()row= בלי פרמטרים.
גם הציטוט הזה לא הכי מובן לי.
-אני כרגע בחלק שאמור לבטא את ()row= .
החלק הזה ייתן לי את השורה הנוכחית בתמורה למפתח תא שאני אתן לו (Z).
אז אני נותן את Z, מקבל את T.

-איך השתמשתי בנוסחה ללא פרמטרים? אני לא הבנתי.

תשאל את עצמך - אם כבר היתה לי נוסחה שעושה זאת בלי פרמטרים אז למה אני צריך את הפרמטרים בשביל להשיג את אותו הדבר?
אתה מנסה לומר שמפתח התא G$2 מספר לי לבדו על השורה באמצעות שילוב של ROW אז אין משמעות לT,T1 לפי ההגדרות המילוליות שסיפקתי?
מעט הגיוני.
אני אמור לבטא את ()row= באמצעות T1,T. אז אם ההגדרה המילולית של הנוסחה האקסלית היא איננה החזרה לשורה הנוכחית, מה היא כן. אני מסתבך.

אתה גורר כבר הרבה זמן בהגדרה.
לא כיף לקרוא.

האם הנוסחה ROW מחזירה שורה?
היא מחזירה מספר שורה..
היכן כתבתי שהיא מחזירה שורה?

מה מוגדר בדף העזרה של הנוסחה ROW שהיא מחזירה (תצטט את המלל בבקשה ואז תסביר במילים שלך איך אתה מפרש אותו)?
"הפונקציה מחזירה את מספר השורה של הפניה כלשהי.".

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

"מפתח של תא" זה לא "שורה".
בסדר, ברור.

בנוסחה החיצונית הגדרנו את T1 להיות פרמטר שמתקבל מהנוסחה הפנימית.
מכיוון ש-T1 הוא פרמטר שמתקבל מהנוסחה הפנימית ומכיוון ש-Z הוא התוצאה של הנוסחה הפנימית אז זה למעשה אותו הדבר.
קלטתי.
הגדרנו את T1 לספק מפתח תא ואת T לכך שיספק את מספר השורה של אותו מפתח התא.
אז מדוע שאני אשתמש בכלל בT1? אפשר להשמיט אותו ולהשתמש בZ ובT כאשר אני מגדיר את הפונקציה הבאה מתא G2:
קוד:
1)=ROW(G$2)
//IN MY MIND:
2)=T(Z)
תחשוב על הפסודו קוד
אני ממש מצטער כי אני יודע שטרחת לכתוב את הקוד אבל אני לא יודע לקרוא אותו.

מה התוצאה של "שורה + 5"?
"שורה" ו-"מספר" אלו דברים שונים.

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

T1 מייצג את הפרמטר ש-ROW מקבלת.
כמו בעצם Z..

גם כאן זה דומה:
f(Z) = ROW(Z) = מספר השורה של תא שמיוצג ע"י מפתח Z
T = f(Z)
טוב לראות שהצלחתי לעשות משהו דומה לפני שראיתי את תגובתך.

זה כמעט נכון - מה רע בניסוח המדוייק שכבר נתנו אתמול שראית צורך לשנות אותו?
זהו לא הניסוח המדויק (שכבר נמצא אצלי בסיכומון)?
מה לא מדוייק בניסוח הזה?

הסיבה שהגדרנו את הנוסחה הפנימית היא בשביל לפשט את התיאור של הנוסחה החיצונית ועשינו זאת ע"י כך שלקחנו את מה שנשלח כפרמטר ל-ROW (T1) והגדרנו אותו בנפרד כפונקציה פנימית (Z).
אז אולי נוותר על T1 ונשתמש רק בT,Z לצורך הגדרת הנוסחה מתא G2?
 

daat99

מייסד
מנהל
הצטרף
22/11/15
אז אני מנסה להשיג את מפתח התא? CELL REFERENCE בעצם.
אתה כבר השגת אותו ושמרת אותו בתוך "הכלי" Z :)

-אני כרגע בחלק שאמור לבטא את ()row= .
אין לך נוסחה כזו בתא G2.
את הנוסחה הזו יש לך כרגע רק בעמודות A, B ו-C.

החלק הזה ייתן לי את השורה הנוכחית בתמורה למפתח תא שאני אתן לו (Z).
הנוסחה שרשמת בציטוט לא מקבלת מפתח ואתה לא יכול לתת לה את Z.

אז אני נותן את Z, מקבל את T.
אתה צריך לתת את Z לנוסחת ROW שמקבלת מפתח של תא (לא לנוסחת ROW שלא מקבלת פרמטרים כפי שרשמת) ואז הנוסחה תחזיר לך את התוצאה T.

-איך השתמשתי בנוסחה ללא פרמטרים?
ראה עמודות A, B ו-C בשביל לראות שימוש בנוסחת ROW ללא פרמטרים.

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

אתה מנסה לומר שמפתח התא G$2 מספר לי לבדו על השורה באמצעות שילוב של ROW אז אין משמעות לT,T1 לפי ההגדרות המילוליות שסיפקתי?
מעט הגיוני.
אני אמור לבטא את ()row= באמצעות T1,T. אז אם ההגדרה המילולית של הנוסחה האקסלית היא איננה החזרה לשורה הנוכחית, מה היא כן. אני מסתבך.
אני חושב שעיקר הבלבול שלך הוא שלא העתקת את הנוסחה החיצונית בצורה נכונה.
הנוסחה החיצונית צריכה להיות "העתקה טקסטואלית מדויקת" של מה שרשום באקסל בתא G2 ללא שינויים.

תשים לב שלא רשום באקסל הביטוי "()row=" אלא משהו אחר ולכן הנוסחה היא אחרת ולא מה שרשמת.

היכן כתבתי שהיא מחזירה שורה?
כשהגדרת את T:
-T מייצג את השורה הנוכחית.
הגדרת אותו כ-"שורה" (לצורך ההמחשה: []char).
אבל ROW מחזירה "מספר שורה" (לצורך ההמחשה: int).

אתה למעשה הגדרת את T להיות []char וניסית לשמור בתוכו int בודד - זה לא עובד.
גם T וגם התוצאה של ROW צריכים להיות מאותו הסוג.
או ששניהם "שורה" ([]char) או ששניהם "מספר" (int) אבל לא ערבוביה של אחד כזה ואחד כזה.

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

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

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

קיבלנו שתי נוסחאות יותר פשוטות (קופסאות טונה של 160 גרם) במקום נוסחה חיצונית גדולה ומסובכת (דג טונה שלם) :)

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

אז מדוע שאני אשתמש בכלל בT1?
כי זה מה שאתה בחרת כשהגדרת את הנוסחה T.

אפשר להשמיט אותו ולהשתמש בZ ובT
נכון מאוד וזה בדיוק מה שעשינו בעמודה B עם X, Y ו-Z בתוך הנוסחה החיצונית W.

אני מגדיר את הפונקציה הבאה מתא G2:
1. הנוסחה הוגדרה בצורה נכונה.
2. המשוואה לא הוגדרה בנוסחה נכונה.
ראה כאן:
אתה זוכר מבי"ס שלימדו אותך דברים בסגנון:
f(x)=x+5
גם כאן זה דומה:
f(Z) = ROW(Z) = מספר השורה של תא שמיוצג ע"י מפתח Z
T = f(Z)
אני ממש מצטער כי אני יודע שטרחת לכתוב את הקוד אבל אני לא יודע לקרוא אותו.
חשבתי שלמדת לתכנת :(
לא נורא - תתעלם :)

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

כמו בעצם Z..
זה בדיוק Z.
המילה "כמו" מייצגת "דימיון" שזה אומר שיש דברים דומים אבל יכול להיות משהו שונה.
במקרה שלנו מדובר ב-"זהות" זה בדיוק אותו הדבר ללא שום הבדל.

טוב לראות שהצלחתי לעשות משהו דומה לפני שראיתי את תגובתך
זה מראה שאתה לומד :)

זהו לא הניסוח המדויק (שכבר נמצא אצלי בסיכומון)?
אתה צודק - אני התבלבלתי ואני מתנצל.

אז אולי נוותר על T1 ונשתמש רק בT,Z לצורך הגדרת הנוסחה מתא G2?
להוסיף את T1 זו הייתה בחירה שלך אז רק אתה תחליט אם אתה רוצה להשאיר אותו או לא.
 
למעלה תחתית