הפונקציה מחזירה מערך של תכונות מוגדרות עם ערכים מחושבים, באמצעות החלה של פונקציית LAMBDA.
דוגמאות לשימוש
MAKEARRAY(2, 3, LAMBDA(row_index, column_index, row_index+column_index))
MAKEARRAY(2, 3, LAMBDA(row_index, column_index, row_index*column_index))
תחביר
MAKEARRAY(rows, columns, LAMBDA)
rows
: מספר השורות שיש להחזיר.columns
: מספר העמודות שיש להחזיר.LAMBDA
: פונקצייתLAMBDA
שתחול כדי ליצור את המערך.- תחביר:
LAMBDA(name1, name2, formula_expression)
- דרישות:
- ל-
LAMBDA
חייבים להיות בדיוק 2 ארגומנטיname
, וגםformula_expression
(ביטוי נוסחה) שמשתמש ב-names
האלה. כאשר מחילים את פונקצייתLAMBDA
,name1
נהייה תואם ל-row_index
הנוכחי ו-name2
נהייה תואם ל-column_index
הנוכחי.
- ל-
- תחביר:
הערות
-
פונקציית
LAMBDA
המועברת צריכה לקבל בדיוק 2 ארגומנטיname
, אחרת תוחזר השגיאה#N/A
. הארגומנטים האלה תואמים ל-row_index
ול-column_index
, לפי הסדר. הם מוסברים כך:name1
: נהייה תואם ל-row_index
הנוכחי שעבורו נוצר הערך.name2
: נהייה תואם ל-column_index
הנוכחי שעבורו נוצר הערך.
- כל ערך שנוצר על ידי החלת פונקציית
LAMBDA
על אינדקסים צריך להיות ערך בודד. אין תמיכה בתוצאות מערך עבור ערכים שנוצרו. row_index
ו-column_index
מתחילים מ-1.- אפשר להעביר
פונקציה בעלת שם
לפרמטרLAMBDA
והיא תתפקד כמו פונקצייתLAMBDA
במקרה הזה. מידע נוסף על פונקציות בעלות שם- התחביר של
הפונקציה בעלת השם
חייב להיות תואם לתחביר שלLAMBDA
ל-MAKEARRAY
, עם בדיוק 2 placeholders לארגומנטים שמוגדרים לה. - אין להוסיף סוגריים אחרי
הפונקציה בעלת השם
.
- התחביר של
דוגמאות
החזרת מערך 2 על 3 עם אינדקס שורות*אינדקס עמודות כערך תא
דוגמה: =MAKEARRAY(2, 3, LAMBDA(row_index, column_index, row_index*column_index))
תוצאה:
1 |
2 |
3 |
2 |
4 |
6 |
החזרת מערך 2 על 3 עם מספרים אקראיים בין 1 ל-100
דוגמה: =MAKEARRAY(2, 3, LAMBDA(row_index, column_index, RANDBETWEEN(1,100)))
תוצאה:
53 |
70 |
38 |
6 |
47 |
78 |
בדוגמה הזו, הפונקציה יוצרת מערך 2 על 3 אקראי עם מספר בין 1 ל-100 לכל תא.
שימוש בפונקציה בעלת שם כפונקציית LAMBDA כדי להחזיר מערך 4 על 4
אפשר להשתמש בפונקציה בעלת שם
כ-LAMBDA
כדי להחזיר מערך 4 על 4 עם נתונים בפורמט Waterfall. כאשר הערך של שורה נוספת שווה לערך של השורה הקודמת +1, ובהינתן שערך ההתחלה בשורה 1 הוא 100.
הפונקציה בעלת השם: WATERFALL
היא פונקציה בעלת שם
שמייצרת ערך של 1 - row_index
+ 100, אם ה-row_index
של התא שווה ל-column_index
או קטן ממנו, אחרת הוא משאיר את התא ריק.
הגדרת הנוסחה: =if(row_index<=column_index, 100+row_index-1, "")
כאשר row_index
ו-column_index
הם placeholders לארגומנטים שהוגדרו עבור WATERFALL
.
דוגמה: =MAKEARRAY(4,4,WATERFALL)
תוצאה:
100 |
100 |
100 |
100 |
101 |
101 |
101 |
|
102 |
102 |
||
103 |
שימוש בפונקציה בעלת שם כ-LAMBDA כדי למצוא את מספר העובדים
אפשר להשתמש בפונקציה בעלת שם
כפונקציית LAMBDA
כדי למצוא את מספר העובדים שהצטרפו ברבעון מסוים בשנה מסוימת.
נתונים לדוגמה:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
2020 |
ג'ון,אדם,סטייסי,מייקל,פיטר,קימברלי,מוריס,סטיבן |
רבעון 1 |
רבעון 2 |
רבעון 3 |
רבעון 4 |
||
2 |
2021 |
ננסי,מארק,אליס,לילי,זאק,כריסטינה,צ'ארלס |
2020 |
|||||
3 |
2021 |
|||||||
4 |
||||||||
5 |
רבעון 1 |
ג'ון,אדם,ננסי,מארק |
||||||
6 |
רבעון 2 |
סטייסי,מייקל,פיטר,אליס |
||||||
7 |
רבעון 3 |
קימברלי,לילי,זאק,כריסטינה |
||||||
8 |
רבעון 4 |
מוריס,סטיבן,צ'ארלס |
במערך A1:B2
אפשר למצוא את העובדים שהצטרפו בשנה מסוימת. במערך A5:B8
אפשר למצוא את העובדים שהצטרפו ברבעון מסוים. אנחנו צריכים לאכלס את המערך E2:H3
במספר העובדים שהצטרפו בשנה מסוימת וברבעון מסוים.
הפונקציה בעלת השם: FIND_COMMON_EMPLOYEES_COUNT
היא פונקציה בעלת שם
שמחזירה את מספר העובדים שמשותף לכל רבעון ושנה.
הגדרת הנוסחה: =COUNT(ARRAYFORMULA(MATCH(SPLIT(INDEX(Sheet1!$B$5:$B$8, quarter_no),","), SPLIT(INDEX(Sheet1!$B$1:$B$2, year_index), ","), 0)))
, כאשר year_index
ו-quarter_no
הם placeholders לארגומנטים שהוגדרו עבור FIND_COMMON_EMPLOYEES_COUNT
, בסדר הזה.
דוגמה: יש להזין את הנוסחה הזו ב-E2
: =MAKEARRAY(2, 4, FIND_COMMON_EMPLOYEES_COUNT)
תוצאה:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
2020 |
ג'ון,אדם,סטייסי,מייקל,פיטר,קימברלי,מוריס,סטיבן |
רבעון 1 |
רבעון 2 |
רבעון 3 |
רבעון 4 |
||
2 |
2021 |
ננסי,מארק,אליס,לילי,זאק,כריסטינה,צ'ארלס |
2020 |
2 |
3 |
1 |
2 |
|
3 |
2021 |
2 |
1 |
3 |
1 |
|||
4 |
||||||||
5 |
רבעון 1 |
ג'ון,אדם,ננסי,מארק |
||||||
6 |
רבעון 2 |
סטייסי,מייקל,פיטר,אליס |
||||||
7 |
רבעון 3 |
קימברלי,לילי,זאק,כריסטינה |
||||||
8 |
רבעון 4 |
מוריס,סטיבן,צ'ארלס |
שגיאות נפוצות
ב-LAMBDA המועברת אין בדיוק 2 ארגומנטי nameאם לפונקציית LAMBDA
אין 2 ארגומנטי name
, מתרחשת השגיאה הבאה:
"מספר הארגומנטים ל-LAMBDA שגוי. היו אמורים להתקבל 3 ארגומנטים ובפועל התקבלו 2."
דוגמה: =MAKEARRAY(2, 3, LAMBDA(current_value, current_value+1))
בדוגמה הזו, פונקציית LAMBDA
קיבלה רק ארגומנט name
אחד, כשהיה צורך ב-2.
אם הפרמטר האחרון של MAKEARRAY
לא היה LAMBDA
, מתרחשת השגיאה הבאה:
"הארגומנט חייב להיות LAMBDA."
דוגמה: =MAKEARRAY(2, 3, 3)
אם LAMBDA
שהועברה אל MAKEARRAY
הייתה שגויה לגבי ארגומנטי ה-name
שלה, מתרחשת השגיאה הבאה:
"ארגומנט אחד של פונקציית LAMBDA אינו שם תקני."
דוגמה: =MAKEARRAY(2,3, LAMBDA(C1, v, C1*v))
בדוגמה הזו, C1 הוא name
לא תקני כי הוא מתנגש עם טווח.
אם ההחלה של LAMBDA
על השורה והעמודה יוצרת ערכים מרובים, מתרחשת השגיאה הבאה:
"היה אמור להתקבל ערך בודד. אין תמיכה בתוצאות של מערך בתוך מערך."
דוגמה: =MAKEARRAY(2,3, LAMBDA(i, j, {i, j} ))
כל החלה של LAMBDA
על row_index
ו-column_index
חייבת ליצור ערך שהוא ערך בודד בלבד ולא מערך אחר.
ראו בנוסף
- פונקציית LAMBDA: הפונקציה הזו מאפשרת לייצר ולהחזיר פונקציה בהתאמה אישית, עם קבוצה של
names
ועםformula_expression
(ביטוי נוסחה) שמשתמש בהם. - פונקציית MAP: הפונקציה הזו ממפה כל ערך במערכים הנתונים לערך חדש.
- פונקציית REDUCE: הפונקציה הזו מצמצמת מערך לתוצאה מצטברת.
- פונקציית BYROW: הפונקציה הזו מקבצת מערך לפי שורות.
- פונקציית BYCOL: הפונקציה הזו מקבצת מערך לפי עמודות.
- פונקציית SCAN: הפונקציה הזו סורקת מערך ומייצרת ערכי ביניים.
- יצירה של פונקציות בעלות שם ושימוש בהן: הפונקציה הזו מאפשרת לכם ליצור ולאחסן פונקציות בהתאמה אישית, בדומה ל-LAMBDA.