פונקציית REDUCE‏

הפונקציה מצמצמת מערך לתוצאה מצטברת באמצעות החלה של פונקציית LAMBDA על כל ערך.

דוגמאות לשימוש

‎REDUCE(5, A1:A3, LAMBDA(accumulator, current_value, accumulator+current_value))‏

‎REDUCE(2, A1:A3, LAMBDA(accumulator, current_value, accumulator*current_value))‏

תחביר

REDUCE(first_value, array_or_range, LAMBDA)‏

  • initial_value: הערך הראשוני מסוג accumulator.‏
  • array_or_range: מערך או טווח שיצומצמו.
  • LAMBDA: פונקציית LAMBDA שתחול על כל ערך ב-array_or_range כדי לצמצם אותו.
  • תחביר: LAMBDA(name1, name2, formula_expression)‏
  • דרישות:
    • ל-LAMBDA חייבים להיות בדיוק 2 ארגומנטים בשם name, וגם formula_expression (ביטוי נוסחה) שמשתמש ב-names האלה. כאשר מחילים את פונקציית LAMBDA, ‏name1 נהייה תואם לערך הנוכחי שב-accumulator ו-name2 נהייה תואם ל-current_value שב-array_or_range. ה-accumulator מעודכן בכל שלב לערך הביניים שהתקבל בשלב הקודם. דוגמה לפעולת כפל פשוטה

הערות

  • פונקציית LAMBDA המועברת צריכה לקבל בדיוק 2 ארגומנטי name, אחרת תוחזר השגיאה ‎#N/A.‏ הארגומנטים האלה תואמים ל-accumulator ול-current_value, לפי הסדר. הם מוסברים כך:
    • name1: נהייה תואם לערך הנוכחי שב-accumulator.
    • name2: נהייה תואם ל-current_value במערך הקלט.
  • ה-accumulator מופעל על ידי initial_value ומעודכן בכל שלב לערך הביניים שהתקבל בשלב הקודם.
  • בזמן שמחילים את LAMBDA, ניתן למצוא את ה-current_value שורה אחר שורה במערך הקלט.
  • אפשר להעביר פונקציה בעלת שם לפרמטר LAMBDA והיא תתפקד כמו LAMBDA במקרה הזה. מידע נוסף על פונקציות בעלות שם
    • התחביר של הפונקציה בעלת השם חייב להיות תואם לתחביר של LAMBDA ל-REDUCE, עם בדיוק 2 placeholders לארגומנטים שמוגדרים לה.
    • אין להוסיף סוגריים אחרי הפונקציה בעלת השם.

דוגמאות

פעולת כפל פשוטה

מחזירה את התוצר של כל המרכיבים ב-A1:A3 וב-initial_value.

נתונים לדוגמה:

 

A

1

3

2

2

3

4

דוגמה: ‎=REDUCE(5, A1:A3, LAMBDA(accumulator, current_value, accumulator*current_value))‏

איך זה עובד:

בהתחלה, accumulator ‏= 5

1. מתבצע עיבוד של תא A1:

5 =accumulator

3 =current_value

לאחר העיבוד של תא A1:

15 =5*3 =(הערך המוחזר של LAMBDA) =accumulator

2. מתבצע עיבוד של תא A2:

15 =accumulator

2 =current_value

לאחר העיבוד של תא A2:

30 =2*15 =(הערך המוחזר של LAMBDA) =accumulator

3. מתבצע עיבוד של תא A3:

30 =accumulator

4 =current_value

לאחר העיבוד של תא A3:

120 =4*30 =(הערך המוחזר של LAMBDA) =accumulator

תוצאה:

120

סכום אם המחיר הוא 20$ או יותר

מחשבת סכום של כל המחירים שהם בגובה 20$ או יותר.

נתונים לדוגמה:

 

A

1

50$

2

10$

3

30$

4

20$

דוגמה: ‎=REDUCE(0, A1:A4, LAMBDA(accumulator, price, IF(price>=20, accumulator + price, accumulator)))‏

תוצאה:

100$

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

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

יצירת עותק

נתונים לדוגמה:

 

A

B

C

1

2022

10%

מחיר התחלתי:

2

2023

5%

100$

3

2024

5%

 

4

2025

10%

 

דוגמה: ‎=REDUCE(C2,B1:B4,PRICE_INCREASE)‏

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

הגדרת הנוסחה: ‎=accumulator+accumulator*cell כאשר accumulator ו-cell הם placeholders לארגומנטים שהוגדרו עבור PRICE_INCREASE.

תוצאה:

133.4

שימוש בפונקציה בעלת שם כ-LAMBDA עם מערך נתונים דו-מימדי

מאתרת את רשימת העובדים הייחודיים של הרבעון, תוך שמירה על סדר השורות.

יצירת עותק

נתונים לדוגמה:

 

A

B

C

   

1

 

רבעון 1

רבעון 2

רבעון 3

רבעון 4

2

2020

ג'ון

אדם

סטייסי

אדם

3

2021

פיטר

מוריס

ג'ון

קימברלי

4

2022

סטייסי

מייקל

פיטר

אדם

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

הגדרת הפונקציה: ‎=IF(CONTAINS(new_value, existing_values), existing_values, {existing_values, new_value}), כאשר existing_values ו-new_value הם placeholders לארגומנטים שמוגדרים עבור ADD_IF_NOT_PRESENT בסדר הזה, ו-CONTAINS היא named function נוספת.

דוגמה: ‎=REDUCE({B2}, B2:E4, ADD_IF_NOT_PRESENT)‏

תוצאה:

ג'ון

אדם

סטייסי

פיטר

מוריס

קימברלי

מייקל

שגיאות נפוצות

ב-LAMBDA המועברת אין בדיוק 2 ארגומנטי name

אם לפונקציית LAMBDA אין 2 ארגומנטי name, מתרחשת השגיאה הבאה:

"מספר הארגומנטים ל-LAMBDA שגוי. היו אמורים להתקבל 3 ארגומנטים ובפועל התקבלו 2."

דוגמה: ‎=REDUCE(5, C1:C4, LAMBDA(current_value, current_value+1))‏

בדוגמה הזו, פונקציית LAMBDA קיבלה רק ארגומנט name אחד, כשהיה צורך ב-2.

הפרמטר האחרון של REDUCE לא היה LAMBDA

אם הפרמטר האחרון של פונקציית REDUCE לא היה פונקציית LAMBDA, מתרחשת השגיאה הבאה:

"הארגומנט חייב להיות LAMBDA."

דוגמה: ‎=REDUCE(5, C1:C4, 3)‏

בדוגמה הזו, הפונקציה האחרונה היא 3, במקום פונקציית LAMBDA.

פונקציית LAMBDA שהועברה ל-REDUCE הייתה שגויה

אם ארגומנט name אחד או יותר אינו תקני, מתרחשת השגיאה הבאה:

"ארגומנט אחד של פונקציית LAMBDA אינו שם תקני."

דוגמה: ‎=REDUCE(5, C1:C4, LAMBDA(C1, v, C1+v))‏

בדוגמה הזו, C1 הוא name לא תקני כי הוא מתנגש עם טווח.

ראו בנוסף

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.

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