פונקציות מערך דינמיות של אקסל

שלום וברכה,

פונקציות מערך דינמיות הם פונקציות שנוספו לאקסל ב 2019-2020 והם מתנהגות שונה מאוד לעומת ההתנהגות הרגילה של פונקציות אקסל. יש לפונקציות האלו כוח רב, אך כמו כל דבר, צריך לדעת להשתמש בהם. אני חושב, שזה שינוי די משמעותי, ולכן שווה לראות את הסרטון (או לקרוא), גם אם אין לכם את גירסת אקסל 365, עדין, שווה בהחלט להכיר.

הערה על גירסאות אקסל

נכון לזמן פירסום מאמר זה, פונקציות מערך דינמיות זמינות בגירסאות הבאות :
- כל מנויי Microsoft 365
- משתמשים חינמיים בגירסה הוובית של אקסל Excel web app (דרך One Drive )

פונקציות שמחזירות ערכים רבים

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

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

נשאלת השאלה, להיכן מוחזרים הנתונים ? ניקח לדוגמה את פונקצית Filter. כשנשתמש בפונקציה הזו, ניתן לה טבלה שלמה, ופרמטר לסינון, והיא תחזיר את הנתונים, לטווח שממתחיל במקום שבו כתבנו את הפונקציה הזו. זאת אומרת, שצריך לכתוב את הפונקציה באיזור שיש בו מספיק מקום רייק בשביל התוצאות שיתקבלו.

פונקציות מערך דינמיות עיקריות

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

פונקצית Filter

מסננת טווח לפי קריטריון.

פונקצית Unique

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

פונקציות Sort , SortBy

פונקצית sort ממיינת רשימה לפי עמודה מסויימת. פונקצית SortBy ממיינת רשימה לפי הסדר של רשימה אחרת.

פונקציות Sequence, RandArray

שתי הפונקציות האלו מייצרות ערכים. הפונקציה sequence מייצרת רצף של מספרים, למשל ממספר 1 עד 100. והפונקציה randArray מגרילה מספרים.

דוגמה לשימוש בפונקצית Filter

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

ראשית הגדרתי טבלה של 10 אנשים.

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

כברירת מחדל, אקסל קרא לטבלה שלי בשם טבלה1.

כעת, במקום אחר, אני רושם את הנוסחה

=FILTER(טבלה1,טבלה1[age]>30)

הסבר הנוסחה Filter של אקסל

הפרמטר הראשון - הוא שם טבלת האקסל שלנו.

הפרמטר השני, הוא התנאי. בדוגמה שלנו, התנאי שעשיתי הוא שהגיל (age) גדול מ-30.

מבנה פונקציות מערך דינמיות - פונקציות Filter
מבנה פונקציות מערך דינמיות - פונקציות Filter

מבנה פונקציות מערך דינמיות - פונקציות Filter

שאר הפונקציות עובדות באותה צורה (כמובן בהתאמה של הפרמטרים).

למי שמעוניין בתיעוד רישמי , להלן קישור לתיעוד של מיקרוסופט על פונקציות מערך דינמיות של אקסל (באנגלית).