יצירת פונקציות בעלות שם ושימוש בהן

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

Named functions tutorial

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

יצירת עותק

איך פותחים פונקציות בעלות שם

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

בתא שמכיל נוסחה:

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

איך יוצרים פונקציות בעלות שם

כשיוצרים פונקציה בעלת שם, צריך להשתמש בטקסט כערכי placeholder עבור מקורות קלט.

לדוגמה, הפונקציה IF יכולה להכיל 3 ארגומנטים לכל היותר:

IF(logical_expression, value_if_true, value_if_false)

אם מזינים כארגומנטים בתא את הטקסט logical_expression‏, value_if_true או value_if_false, תתקבל שגיאה. הארגומנטים האלה משמשים כערכי placeholder וכתיאורים של סוגי הקלט שהפונקציה מצפה להם. אם רוצים להזין סוגי קלט שונים לפונקציה, כשכותבים פונקציה בעלת שם צריך להגדיר ערכי placeholder של ארגומנטים.

בעבר, אפשר היה ליצור פונקציות בהתאמה אישית רק באמצעות Apps Script. לשם כך, צריך לכתוב ב-JavaScript. פונקציות בעלות שם מאפשרות ליצור פונקציות בהתאמה אישית בממשק אינטואיטיבי וללא צורך בכתיבת קוד.

ארבעת הרכיבים העיקריים בפונקציה בעלת שם:

  • שם הפונקציה
    • השם שמשתמשים בו כדי להוסיף את הפונקציה לתא, באותיות גדולות.
    • דרישות:
      • אי אפשר להשתמש בשם זהה לשם של פונקציה מובנית של Sheets כמו SUM.
      • אי אפשר לתת את השם TRUE או FALSE לפונקציות בעלות שם.
      • השם לא יכול להיות בתחביר "A1" או "R1C1".
        • לדוגמה, אם בוחרים לפונקציה שם כמו "A1" או "AA11", תוצג הודעת שגיאה.
      • פונקציה בעלת שם לא יכולה להתחיל במספר.
      • השם של הפונקציה חייב להכיל פחות מ-255 תווים.
      • אסור להשתמש ברווחים.
      • אסור לכלול תווים מיוחדים, מלבד קווים תחתונים.
  • תיאור הפונקציה
    • התיאור של הפונקציה שמופיע בקטע 'מידע כללי' שבתיבת העזרה של הפונקציה.
  • ערכי placeholder של ארגומנטים [אופציונלי]
    • ערכי Placeholder הם תיאורים של סוגי הקלט שהפונקציה מצפה להם. לדוגמה, שמות הארגומנטים CELL‏ או RANGE מציינים אם הקלט הצפוי הוא תא יחיד או טווח של תאים, בהתאמה.
    • דרישות:
      • אי אפשר להשתמש בשם זהה לשם של placeholder של ארגומנט אחר בפונקציה בעלת השם.
      • השם לא יכול להיות בתחביר "A1" או "R1C1".
        • לדוגמה, אם בוחרים ל-placeholder שם כמו "A1" או "AA11", תוצג הודעת שגיאה.
      • אסור להשתמש ברווחים.
      • אסור לכלול תווים מיוחדים, מלבד קווים תחתונים.
  • הגדרת הנוסחה
    • הנוסחה הכתובה שמוסיפים לתא. כשכוללים ארגומנטים מוגדרים, הפונקציה מצפה לקבל מקורות קלט עבור כל ארגומנט כשמוסיפים את הפונקציה לתא.
    • דרישות:
      • חייבת להיות ניתנת לניתוח.
      • אסור שיהיו סוגריים חסרים.
      • פסיקים חייבים להיות במקום המתאים.

פרטים נוספים

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

  • תיאור הארגומנט
    • תיאור קצר של הציפיות של הפונקציה מהארגומנט. לדוגמה, "ערך בודד לחיפוש".
  • דוגמה לארגומנט
    • קלט לדוגמה עבור הארגומנט הזה. למשל, ארגומנט שצריך להיות טווח תאים: "B3:B14".

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

Sample of Named function arguments.

ייבוא פונקציות בעלות שם

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

  1. במחשב, פותחים את Google Sheets.
  2. פותחים את הגיליון שרוצים לייבא אליו את הפונקציות בעלות השם.
  3. למעלה, לוחצים על נתונים ואז פונקציות בעלות שם ואז ייבוא פונקציה.
  4. בוחרים את הגיליון שרוצים לייבא ממנו את הפונקציה.
  5. בוחרים את הפונקציות בעלות השם שרוצים לייבא.
    • אם רוצים לייבא את כל הפונקציות בעלות השם מהקובץ, לוחצים על ייבוא הכול.
  6. לוחצים על ייבוא.

טיפים:

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

דוגמאות

פונקציה בעלת שם עם שני ערכי placeholder של ארגומנטים

  • שם הפונקציה: CONTAINS
  • תיאור: בודקת אם הערך מופיע בטווח. הפונקציה מחזירה את הערך TRUE אם הערך מופיע ואת הערך FALSE אם לא.
  • ערכי placeholder של ארגומנטים: search_query‏, ‏search_range
  • הגדרה: ‎=NOT(ISERROR(MATCH(search_query,search_range,0)))
  • פרטים נוספים:
    • תיאור הארגומנט: search_query
      • הערך שחיפשתם
    • דוגמה לארגומנט: search_query
      • B3
    • תיאור הארגומנט: search_range
      • הטווח שחיפשתם עבור הערך המוזן
    • דוגמה לארגומנט: search_range
      • B3:B14

פונקציה בעלת שם ללא ערכי placeholder של ארגומנט

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

פונקציה בעלת שם עם חזרות

  • שם הפונקציה: REVERSE_WORDS
  • תיאור: הופכת את סדר המילים במחרוזת
  • ערכי Placeholder:‏ str
  • הגדרה:‎=IF(ISERROR(FIND(" ", str)), str, REVERSE_WORDS(RIGHT(str, LEN(str)-FIND(" ", str)))&" "&LEFT(str, FIND(" ",str)-1))
  • פרטים נוספים:
    • תיאור הארגומנט: str
      • מחרוזת שצריך להפוך
    • דוגמה לארגומנט: str
      • "להפוך שצריך מחרוזת"

פונקציה בעלת שם עם LAMBDA

  • שם הפונקציה: COUNT_FORMULAS
  • תיאור: חישוב מספר הנוסחאות בטווח נתון.
  • ערכי Placeholder:‏ range
  • הגדרה: ‎=COUNTIF(MAP(range,LAMBDA(cell, ISFORMULA(cell))),"TRUE")
  • פרטים נוספים:
    • תיאור הארגומנט: range
      • הטווח שמחפשים בו נוסחאות
    • דוגמה לארגומנט: search_range
      • A2:D7

שאלות נפוצות

האם אפשר ליצור טווח יחסי בפונקציה בעלת השם?

לא. כל הטווחים שנכללים בהגדרות הנוסחה הם מוחלטים. אם הטווחים שנכללים בהגדרה אינם בפורמט מוחלט, הם מומרים לטווחים מוחלטים. לדוגמה, כששומרים את הטווח "A1:B3" בגיליון, הוא ישתנה לטווח "‎1!$A$1:$B$3". אפשר לקבוע ערך (pass) של טווחים יחסיים כארגומנטים בפונקציה בעלת השם.

האם אפשר להשתמש בשמות של פונקציות מובנות בתור שמות לערכי placeholder של ארגומנטים, כמו SUM?

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

האם אפשר לייבא ל-Sheets שמות מוגדרים ללא פרמטרים?

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

האם אפשר לערוך פונקציה בעלת שם שהוגדרה ויובאה ללא פרמטרים ב-Sheets?

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

האם אפשר ליצור פונקציה בעלת שם עם שם זהה לזה של פונקציה מותאמת אישית ב-Apps Script?

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

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

המצב הזה יכול להתרחש בשני מקרים:

  • החישוב של הנוסחה נמשך יותר מדי זמן.
  • הנוסחה מנצלת כמות זיכרון גדולה מדי.

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

אם יש שם זהה לפונקציה בעלת שם ולטווח תאים בעל שם, איזה מהם יקבל עדיפות?

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

מקורות מידע שקשורים לנושא

true
Visit the Learning Center

Using Google products, like Google Docs, at work or school? Try powerful tips, tutorials, and templates. Learn to work on Office files without installing Office, create dynamic project plans and team calendars, auto-organize your inbox, and more.

חיפוש
ניקוי החיפוש
סגירת החיפוש
התפריט הראשי
5149870069089178362
true
חיפוש במרכז העזרה
true
true
true
true
true
35
false
false