הפונקציה ממפה כל ערך במערכים הנתונים לערך חדש באמצעות החלה של פונקציית LAMBDA
על כל ערך.
דוגמאות לשימוש
MAP(A1:A5, LAMBDA(cell, cell*2))
: פונקציית MAP
עם טווח כקלט.
MAP(A1:A5, B1:B5, LAMBDA(cell1, cell2, MAX(cell1, cell2))
: פונקציית MAP
עם טווחים מרובים כקלט.
MAP(UNIQUE(A1:A10), LAMBDA(number, number + 1))
: פונקציית MAP
עם מערך כקלט.
תחביר
MAP(array1, [array2, ...], LAMBDA)
array1
: המערך או הטווח שימופה.array2, …
: [אופציונלי] מערכים או טווחים נוספים שימופו.LAMBDA
: פונקצייתLAMBDA
שתמופה לכל ערך במערכים הנתונים כדי לקבל ערך ממופה חדש.- תחביר:
LAMBDA(name1, [name2, …], formula_expression)
- דרישות:
- ל-
LAMBDA
חייב להיות ארגומנטname
אחד בלבד עבור כל מערך שמועבר, וגםformula_expression
(ביטוי נוסחה) שמשתמש ב-name הזה. כאשר מחילים את פונקצייתLAMBDA
, ה-names נהיים תואמים לערכים שממופים כרגע במערכים שהועברו.
- ל-
- תחביר:
הערות
-
פונקציית
LAMBDA
המועברת צריכה לקבל בדיוק את אותו מספר ארגומנטיname
כמו מספר מערכי הקלט שניתנו לפונקצייתMAP
, אחרת תוחזר השגיאה#N/A
. הארגומנטים האלה תואמים לערכים במערכי הקלט שממופים לערך חדש. -
הערכים במערכי הקלט צריכים להתמפות לערך בודד. אין תמיכה בתוצאות מערך עבור ערכים ממופים.
- אפשר להעביר
פונקציה בעלת שם
לפרמטרLAMBDA
והיא תתפקד כמוLAMBDA
במקרה הזה. מידע נוסף על פונקציות בעלות שם- מספר ה-placeholders לארגומנטים שמוגדרים לפונקציה צריך להיות זהה למספר מערכי הקלט שהועברו ל-
MAP
. - אין להוסיף סוגריים אחרי
הפונקציה בעלת השם
.
- מספר ה-placeholders לארגומנטים שמוגדרים לפונקציה צריך להיות זהה למספר מערכי הקלט שהועברו ל-
דוגמאות
פעולת כפל פשוטה באמצעות MAP
נתונים לדוגמה:
A |
B |
C |
D |
|
---|---|---|---|---|
1 |
1 |
2 |
||
2 |
3 |
4 |
||
3 |
2 |
4 |
||
4 |
6 |
8 |
דוגמה: יש להזין את הנוסחה הבאה ב-C3:
=MAP(A1:B2, LAMBDA(cell, cell*2))
מיפוי ערכים מופרדים בפסיקים לקודי מק"ט עם מקפים
נתונים לדוגמה:
A |
B |
|
---|---|---|
1 |
ג'ינס,שחור,XL |
ג'ינס-שחור-XL |
2 |
מכנסיים קצרים,חום,S |
מכנסיים קצרים-חום-S |
3 |
חולצת טי,אדום,L |
חולצת טי-אדום-L |
4 |
חצאית,ורוד,M |
חצאית-ורוד-M |
דוגמה: יש להזין את הנוסחה הבאה ב- B1:
=MAP(A1:A4, LAMBDA(item, JOIN("-", SPLIT(item, ","))))
מיפוי של טווחי קלט מרובים לערך המקסימלי בכל קבוצת נתונים
נתונים לדוגמה:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
38.9 |
17.8 |
42 |
20.2 |
38.6 |
21.2 |
||
2 |
39.2 |
19.6 |
37.8 |
17.1 |
34.6 |
21.2 |
||
3 |
34.1 |
18.1 |
41.1 |
17.6 |
36.6 |
17.8 |
דוגמה: =MAP(A1:B3, D1:E3, G1:H3, LAMBDA(valA, valB, valC, MAX(valA, valB, valC)))
תוצאה:
A |
B |
|
---|---|---|
1 |
42 |
21.2 |
2 |
39.2 |
21.2 |
3 |
41.1 |
18.1 |
שימוש בפונקציה בעלת שם כ-LAMBDA כדי לספור תאים שיש בהם מספרים
נתונים לדוגמה:
A |
B |
C |
|
---|---|---|---|
1 |
פתאום 30 |
מהיר ועצבני 2 |
12 המושבעים |
2 |
שמש נצחית בראש צלול |
יום שישי ה-13 |
ארץ קשוחה |
הפונקציה בעלת השם: CONTAINS_NUMBER
היא פונקציה בעלת שם
שבודקת אם ערך המחרוזת הנתון מכיל מספר כלשהו.
הגדרת הנוסחה: =ARRAYFORMULA(OR(ISNUMBER(SPLIT(cell, " "))))
, כאשר תא הוא placeholder לארגומנט שהוגדר עבור CONTAINS_NUMBER
.
דוגמה: =COUNTIF(MAP(A1:C2, CONTAINS_NUMBER), true)
תוצאה:
3 |
שגיאות נפוצות
התכונות של מערכי הקלט לא תואמיםאם התכונות של מערכי הקלט לא תואמים, מתרחשת השגיאה הבאה:
"הארגומנטים של מערכים ל-MAP הם בגדלים שונים."
דוגמה: =MAP(C1:C4, D1:D2, LAMBDA(x, x+1))
בדוגמה הזו, גודל המערך C1:C4
לא תואם לגודל המערך D1:D2
.
אם מספר ארגומנטי name
בפונקציית LAMBDA
שהועברה לא זהה למספר מערכי הקלט שניתנו ל-MAP
, מתרחשת השגיאה הבאה:
"מספר הארגומנטים ל-LAMBDA שגוי. היו אמורים להתקבל 3 ארגומנטים ובפועל התקבלו 2.
דוגמה: =MAP(C1:C4, D1:D4, LAMBDA(cell, cell+1))
בדוגמה הזו, פונקציית LAMBDA
קיבלה רק תא ארגומנט name
אחד, למרות שהעברנו שני מערכים ל-MAP
.
אם הפרמטר האחרון של MAP
לא היה LAMBDA
, מתרחשת השגיאה הבאה:
"הארגומנט חייב להיות LAMBDA."
דוגמה: =MAP(C1:C3, 3)
אם ארגומנט name
אחד או יותר אינו תקני, מתרחשת השגיאה הבאה:
"ארגומנט אחד של פונקציית LAMBDA אינו name תקני."
דוגמה: =MAP(C1:C3, LAMBDA(C1, C1+1))
בדוגמה הזו, C1
הוא name
לא תקני כי הוא מתנגש עם טווח.
אם ההחלה של LAMBDA
על מערכי הקלט ממפה כל ערך לערכים מרובים או למערך אחר, מתרחשת השגיאה הבאה:
"היה אמור להתקבל ערך בודד. אין תמיכה בתוצאות של מערך בתוך מערך."
דוגמה: =MAP(E1, LAMBDA(word, SPLIT(word, " ")))
בדוגמה הזו אנחנו מנסים למפות את הטקסט שבתא למערך מילים.
ראו בנוסף
- פונקציית LAMBDA: הפונקציה הזו מאפשרת ליצור ולהחזיר פונקציה בהתאמה אישית, עם קבוצה של
names
ועםformula_expression
(ביטוי נוסחה) שמשתמש בהם. - פונקציית REDUCE: הפונקציה הזו מצמצמת מערך לתוצאה מצטברת.
- פונקציית BYROW: הפונקציה הזו מקבצת מערך לפי שורות.
- פונקציית BYCOL: הפונקציה הזו מקבצת מערך לפי עמודות.
- פונקציית SCAN: הפונקציה הזו סורקת מערך ומייצרת ערכי ביניים.
- הפונקציה MAKEARRAY: הפונקציה הזו יוצרת מערך מחושב של תכונות מוגדרות.
- יצירה של פונקציות בעלות שם ושימוש בהן: הפונקציה הזו מאפשרת למשתמשים ליצור ולאחסן פונקציות בהתאמה אישית, בדומה ל-
LAMBDA
.