אקסל | האם אפשרי להפנות נוסחה לגיליון אחר ללא שם הגיליון?
-
כשרוצים להחזיר נתון שנמצא בתא של גיליון אחר (לדוגמה: נתון שנמצא בתא B2 בגיליון 1) כותבים כך:
=גיליון1!B2
מה קורה ששם הגיליון משתנה? (נניח שיניתי את שמו של גיליון אחד ל- "פתיח") - אקסל ממיר אוטומטית את שם הגיליון בתוך הנוסחה:
=פתיח!B2
בכתיבת קוד מאקרו, ניתן גם להפנות לתא בגיליון ייעודי ללא שימוש בשם הגיליון אלא במספור הגיליון:
או בשם :ActiveCell.FormulaR1C1=Sheets("פתיח").Range("B2")
או לפי מספור:
ActiveCell.FormulaR1C1=Sheets(1).Range("B2")
וכעת לשאלה שלי:
האם ניתן להפנות נוסחה באקסל רגיל (לא מאקרו) לגיליון אחר ללא שם הגיליון אלא לפי מספר הגיליון?
יעזור לי ממש לדעת אם כן איך ניתן לעשות זאת.
תודה לעונים! -
@mekev הצורך שלי הוא בהפניה לפי סדר נומרי של הגיליונות מתחילת חוברת העבודה.
אני אסביר את הצורך שלי:
יש לי דוח כלשהו שאני בונה עליו ניתוח נתונים על ידי מאקרו.
הדוח הנ"ל מגיע אליי בצורה של טבלה ענקית עם נתונים יבשים ועליו אני "מלביש" כמה נוסחאות.
הדוח משתנה כל כמה ימים, וכל פעם הוא מגיע עם שם גיליון שונה. (חשוב לי כן לשמר את שם הגיליון)
אני יכול להגדיר בכל פעם שם לתא מסוים, אבל זו פעולה שתאריך לי מאוד את העבודה.אני מתעכב על הבעיה הזאת כבר כמה שבועות, בינתיים יצרתי פיתרון שהוא כמו פלסתר.
יש אפשרות לעשות מניפולציה על שם הגיליון, לשנות לו את השם בתחילת המאקרו, ואז להחזיר לו את השם המקורי בסוף פעולת המאקרו, (כאמור, האקסל ממיר אוטומטית בתוך התאים את שם הגיליון) זה פתרון חמוד אבל קצת אידיוטי..:'שמירת שם הגיליון המקורי במיקום כלשהו בתוך הגיליון Range("CT3").Value = ActiveSheet.Name 'החלפת שם הגיליון ActiveSheet.Name = "אאא" 'כתיבת הנוסחה עם שימוש בשם החדש Sheets("2").Select ActiveCell.FormulaR1C1=Sheets("אאא").Range("B2") 'החזרת השם המקורי ומחיקת תוכן התא ששמר את שמו Sheets("1").Select ActiveSheet.Name = Range("CT3") Range("CT3").ClearContents
אני מחפש פתרון יותר סביר.
(אני יוצא מנקודת הנחה, שאם יצרו אפשרות כזו במאקרו, אין סיבה שלא תהיה אפשרות באקסל עצמו.) -
@מטעמים כתב באקסל | האם אפשרי להפנות נוסחה לגיליון אחר ללא שם הגיליון?:
אני יוצא מנקודת הנחה, שאם יצרו אפשרות כזו במאקרו, אין סיבה שלא תהיה אפשרות באקסל עצמו.
היות הפניה דרך מספר הגליון, זה הפניה יחסית, ולא הפניה קבועה
(הפניה דרך שם הגליון, זה הפניה קבועה)ככל הנראה ויתרו ע"ז משיקולי ביצועים (ללא מקור)
נ.ב. הפתרון שלך בהחלט אלגנטי, מקורי, חסכוני במשאבים, ומעולה
-
@מטעמים כתב באקסל | האם אפשרי להפנות נוסחה לגיליון אחר ללא שם הגיליון?:
וכעת לשאלה שלי:
האם ניתן להפנות נוסחה באקסל רגיל (לא מאקרו) לגיליון אחר ללא שם הגיליון אלא לפי מספר הגיליון?
יעזור לי ממש לדעת אם כן איך ניתן לעשות זאת.
תודה לעונים!בצורה ישירה כנראה שאי אפשר
אבל אפשר לכתוב פעם אחת בגיליון החישובים את שם הגיליון החדש,ולהפנות בנוסחאות אל הגיליון באמצעות פונקציית "INDIRECT" עיין בדוגמה המצורפת.
אינדקס גיליון.xlsx -
@amik יפה!
החיסרון היחיד הוא שהתא הנ"ל צריך להישאר לנצח בגיליון.
(בנוסף, יש בזה העמסה מסוימת על ההבנה של הנוסחאות. (בגיליון החישוב יש לי נוסחאות שמגיעות ל-5 שורות קוד..))בכל אופן, המידע שהבאת כאן (ובאופן כללי המידע מכל הפורום המיוחד הזה) מאוד עזר לי.
לא הכרתי את הפונקציה הזו.