Excel Dynamic Arrays: Course Notes

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Excel

Dynamic Arrays
Course Notes
Leila Gharani (Microsoft Excel MVP)

©Note: Copyright 2019, XelPlus.com, Leila Gharani, MA


Information
Course Notes for Dynamic Arrays
These course notes are accompanying documentation for my online Excel
course on Dynamic Arrays. Please do not reproduce or transmit in any form
without permission.
We (XelPlus e.U.) have taken every effort to ensure the accuracy of this
manual. In case you discover any discrepancies, please send us a quick email
to: info@XelPlus.com.

Availability of Dynamic Arrays


Dynamic Arrays are currently only available in Office 365 – Insider
Edition. They will soon be available for Office 365 users, who will get
them as a “normal” monthly update. If you receive updates on a less
frequent basis, these features will be rolled out later. If you are part of
an organization, please ask your IT about Office update Frequency.
Here is more information on how to get the newest features.
Dynamic Arrays will not be part of Excel 2019 perpetual license.

About Leila Gharani


Leila Gharani is a Microsoft Excel MVP & a bestselling online course
instructor. She runs XelPlus.com an Excel resource site to help people gain
the knowledge they need so they can create useful tools, solve problems and
get more done. She has a YouTube channel under her name with more than
150k subscribers.
Her background is: Masters in Economics, Economist, Consultant, Oracle
HFM Accounting Systems Expert & Project Manager. Find out more here.

XelPlus.com 2
What are Dynamic & Spilled Arrays?

In September 2018 Microsoft announced the following major changes:


• Change in Excel’s calculation engine that allows us to input one formula
and get many results.
• 7 new functions that were referred to as Dynamic Array functions.
• Advanced Excel users: Control + Shift + Enter (CSE) Formulas are no
longer needed. Just Enter instead of CSE.

The change in the calculation engine, sounded at first


something that impacts Advanced Excel users but it’s a
change that impacts EVERY Excel user.

Complex analysis is now accessible to EVERYONE


– not just advanced users.

Glossary of Terms

Legacy Excel: This is the Excel version prior to DA-aware Excel


Dynamic Array (DA): Any formula that returns multiple results is a Dynamic
Array (DA) formula.
Spill Range: If a DA formula spills the answers to multiple cells, then we have
a “Spill” Range.
# Sign: Number sign (North America), Pound sign (North America), Hash sign
(outside North America), Hashtag.
Control + Shift + Enter (CSE) Formulas: Array formulas used by more
advanced Excel users that required pressing CSE instead of just Enter.

XelPlus.com 3
Course Road Map
Basic Dynamic Arrays & Excel’s New Calculation
Engine (Hash / Spilled referencing)

How Legacy Formulas are Impacted in


the New Excel

How Excel Features are Impacted

Advanced
The ONE Theory you NEED to Use
FILTER Like a Pro

Array Logic & Array Constants in Formulas

Interactive Reports Made Easy with


Dynamic Arrays

Advanced Data Analysis

Expert
Advanced to Expert: How Arrays
Really Work

More Advanced Dynamic Array Examples

XelPlus.com 4
Table of Contents
Dynamic Arrays & Spill Behavior ------- 6

FILTER Function ------- 8

SORT / SORTBY Functions ------- 9

UNIQUE Function ------- 10

SEQUENCE Function ------- 11

RANDARRAY Function ------- 12

@ Prefix ------- 13

Rules for Dynamic Arrays ------- 14

Forward / Backward Compatibility ------- 15

Impact on Legacy Formulas and Features ------- 17

Impact on Performance of DA Functions ------- 19

Excel’s Boolean Logic to Filter like a Pro ------- 21

Array Syntax & Debugging Trick ------- 24

Lifting, Pairwise Lifting & Broadcasting ------- 27

Implicit Intersection ------- 30

CSE Formulas No Longer Needed? ------- 31

XelPlus.com 5
Formulas Now Spill
MAJOR CHANGE IN THE CALC ENGINE: SPILL RANGE
Any formula that returns many results, will now spill to many cells.
Example: Typing in =A6:C20 and pressing Enter in cell G6 will spill the values
to the cells below.

The formula “lives” only in cell G6. –i.e. only that cell is editable. The formula in the
cells below G6 are greyed out. To delete the entire G6:I20 range or cut & paste it
somewhere else you just need to delete or cut the value in G6.

The highlighted blue border appears if you are in a cell inside the spilled range. It
disappears if you move outside the spilled range.

The spilled range doesn’t carry over source formatting.


Formatting also doesn’t spill.

If there are existing values in the cells of the output range – you will receive the
new #SPILL! Error. This means the values can’t spill because something is blocking
it. Removing the obstruction will automatically spill the formula.

XelPlus.com 6
Important Points on Spill Behavior

If the spilled range is referencing an Excel Table, the range will automatically
expand or shrink as the tables size changes. In the example below, if we add more
data to the Excel Table, the spilled array in range G28 will automatically expand to
include these.

Spilled array formulas are not supported inside Excel Tables. You need to use
these outside the table.

To dynamically reference a spilled range, you need to refer to the first cell (where
the formula lives) and put in the hash (#) sign. In the example above you can input
=G28# in L28 to reference the entire spilled range.

Dynamic Array functionality is not fully supported between workbooks – and


workbooks need to be open.

For Advanced Excel Users: Microsoft will keep CSE formulas going forward for
compatibility purposes, but they advise to stop using these in future Excel
versions and using the new DA-aware Excel functions.

For Advanced Excel Users: You no longer need to use Control + Shift + Enter (CSE)
to input array values or work with array formulas like Transpose and Frequency.

XelPlus.com 7
FILTER Function (The New Power Lookup)
Situations you’ll be needing this:

• You need to show multiple results for one or more lookup values
• You’d like to have a filter that automatically refreshes without the need to
press the refresh button
• You’d like to sum or count the filtered values (can be used as an alternative
to SUMIFS or COUNTIFS)

Test to check what to include. An example would be the Name column


should equal the name you are looking for – such as B8:B40=E6
(where B column has the list of names of your original data and E6 has
your lookup value). In this case a Boolean array is returned. TRUE
values are included.

FILTER(array, include, [if_empty])

The columns that you’d like Optional: If Filter doesn’t find anything, what would
included in the result. This can be you like returned. For example: “No Data”. This is an
the entire data set or a part of the optional argument, but if you don’t specify it and
original data set. Filter doesn’t find any results, you will get a #CALC!
Error.

FILTER is one of the most powerful formulas in the Dynamic


Array function list. It will become the new VLOOKUP.

Example

XelPlus.com 8
SORT & SORTBY Functions
Situations you’ll be needing these:

• You need to automatically sort categories alphabetically without the need


to “refresh” a query.
• You’d like to sort numbers in ascending or descending order together with
their categories.
• SORT or SORTBY? If you’d like to sort the entire data set, use SORT. If
you’d like to sort by a category not in the result, use SORTBY.

Optional: The column Optional: Default is


index number to sort on. FALSE. If the data is in
Default is 1. Optional: 1 for columns instead of
ascending (default) or rows, you can switch
-1 for descending. to TRUE.
The data set to
be sorted.

SORT(array, [sort index], [sort order], [by_col])

SORTBY(array, by_array1, [sort_order1]…)

The part of the original Optional: The sort order to


data set that includes your What you choose here will apply to by_array1. Default
result. decide the sort order of is ascending or type in -1
your final answer (the for descending.
array).

To define the sort order for multiple columns, use curly brackets like in
this example: =SORT(A6:C20,{1,2},{1,-1}) This means column A is sorted
in ascending order and then column B in descending order.

XelPlus.com 9
UNIQUE Function
Situations you’ll be needing this:

• You’d like to get a unique list of items from your data set. The result will
include each item from the data set only once in the final list.
• You’d like to get a distinct list of items from your data set. The result will
show items that occur only once in the data set.
• You’d like your unique list to update automatically without the need to
refresh a query.

Optional: TRUE to compare by column and FALSE to


compare by row. Default is FALSE.

UNIQUE(array, [by_col], [occurs_once])

The part of the original Optional: TRUE means the values


data set that includes your returned occur only once in the data
results set and FALSE means the values occur
one or more times. Default is FALSE.

Example

XelPlus.com 10
SEQUENCE Function
Situations you’ll be needing this:

• You need to generate a list of index numbers


• You’d like to simulate dates based on specific intervals
• Modeling and simulations
• Excel Calendar & loan amortization tables (examples in later section)
• Transforming legacy Excel formulas to power formulas (examples in later
sections)

Optional: The number to


Optional: The number of columns the increment (step) by.
result should spill to. Default is 1. Default is 1.

SEQUENCE(rows, [columns], [start], [step])

The number of rows the Optional: The starting


result should spill to. number. Default is 1.

The power of SEQUENCE lies when used in combination with other


functions. We cover these once we move to advanced & expert levels.

Example

XelPlus.com 11
RANDARRAY Function
Situations you’ll be needing this:

• You need to generate a list of random numbers


• You’d like to generate random numbers for modeling and test cases
• You’d like to randomly sort a list of names, numbers or dates

Optional: min Optional: max


value returned. value returned.
Default is 0. Default is 1.

RANDARRAY([rows], [columns], [min], [max], [integer])

Optional: The number of Optional: The


number of columns Optional: If set to TRUE
rows the result should
the result should spill and integer is returned.
spill to. Default is 1.
to. Default is 1. Default is FALSE.

RANDARRAY is great for modeling and creating simulations.

Basic Example

XelPlus.com 12
@ For Compatibility
This was first called the SINGLE function. It was changed to the @
symbol in February 2019. Main reason: @ symbol is less confusing and
easier to apply than a whole new function.

Situations you’ll be seeing/needing this:


• Older Excel files opened in the new DA Excel might have formulas with the
@ symbol as a prefix. This ensures the formula behaves as before and
spilling is prevented.
• @ behaves like a table row reference. It avoids spillage and returns the
value on the same row for range references – or the first result in an array
(also referred to as implicit intersection).

@(Formula or Reference)

Value is generally a reference to many


cells, or an array formula.

If you open an old file in DA Excel, you will see the @ symbol for array
formulas. If you save the file and re-open in legacy Excel, the @ symbol
disappears in legacy Excel.

Example: Avoid Spilling

XelPlus.com 13
RULES for Dynamic Arrays
1 If a formula delivers a single answer, it will return a single
answer in one cell.

2 If a formula delivers more than one answer, it will return all


answers in more than one cell – The answers “spill” into the
next cells.

3 The actual formula lives only in the first cell of the spilled
range. The rest are based off the first one.

4 If something is in a cell below the spill range, you will get the
new #spill error (your values below will never be overwritten).
Once the values are removed the formula will spill
automatically.

5 Referencing a spilled range is done by referencing the first


cell in the range and then putting the # sign. The spilled
range, will automatically expand or shrink as the formula
input changes.

6 There are 7 new Dynamic Array functions: FILTER, UNIQUE,


SORT, SORTBY, SEQUENCE, RANDARRAY & @ Prefix.

Spilled Array formulas are not supported inside Excel Tables.


Place them outside the table.

Dynamic Array functionality is not fully supported between


workbooks – and workbooks need to be open.

In legacy Excel, you had to be an Excel Expert to be able to


use arrays – now everyone can use it!

XelPlus.com 14
Forward Compatibility (Legacy to DA)
Compatibility has been carefully addressed by Microsoft
with this change. Overall you don’t have to worry about it.

Older files will work just as well in DA Excel version.


With DA Excel you can take advantage of the new DA formulas
and calculation as well as spill behavior.

Created in Legacy Excel Opened in DA Excel


Standard Excel Formulas Nothing changes. All formulas work as
before.
A CSE formula such as Curly brackets are kept:
{=SUM(IF(A6:A20="productivity",C {=SUM(IF(A6:A20="productivity",C6:C2
6:C20))} 0))} – you can safely remove the curly
brackets by editing the formula and just
pressing enter (if you open this back in
legacy Excel the curly brackets appear
again).
Multiple cell referencing with CSE Keeps the same syntax as old version.
{=B6:B10} You can use # to take advantage of spill
functionality.
Index formulas which have row or Since Excel is unsure whether the
column argument set to empty or 0 formula will spill, it adds the @ symbol.
(or are referencing a cell that could You can remove the @ prefix if you don’t
be 0) such as =INDEX(A6:B6,0,2) need it. Names in Name Manager might
also inherit the @ symbol as Excel is
unsure if it will spill. Another common
function that could have @ as prefix is
the OFFSET function.

XelPlus.com 15
Backward Compatibility (DA to Legacy)
How about opening DA files in Older versions of Excel?
The only major impact is when new formulas and spilled referencing have
been used. The invalid name error is returned.

Created in DA Excel Opened in Legacy Excel


Standard Excel Formulas Nothing changes. All formulas work as before.

Formulas that reference Curley brackets are added automatically.


arrays such as Calculation works as in DA version of Excel.
=SUM(IF(A6:A20="productiv
ity",C6:C20))
Multiple cell referencing Curley brackets are added automatically –
such as =B6:B10 {=B6:B10}
Formula with @ prefix saved @ prefix will be removed when opened in older
in DA version version.
New Dynamic array formulas {=_.xlfn._xlws.SORT(_xlfn.UNIQUE(A6:A20))}
such as: #Name! error is the value in the cells.
=SORT(UNIQUE(A6:A20)) Parts of the spilled range cannot be deleted,
unless the entire spilled range is deleted.
Using the # such as =H16# {=_xlfn.ANCHORARRAY(H16)} as with DA
formulas, it’s not possible to remove a part of
the results or change the formula – unless the
entire range is deleted.

XelPlus.com 16
DA Impact on Legacy
Formulas
1 Forward Compatibility: Older files will work just as well in
DA Excel version. You might see the @ prefix for some of
your formulas.

2 Backward Compatibility: New DA functions or spilled range


references will not be recognized by older Excel versions.

3 We can now provide multi values to functions that expect a


scalar (arguments that used to expect 1 value in legacy Excel,
can now receive many values). The result will spill.

4 Referencing Spill Ranges from other sheets:


1. Spill the entire range in one go. Even if the referenced range
contains separate spill ranges, you can reference the entire spill
range by referencing the first cell with a # sign and the first cell in
the last column also with the # sign.
2. Spill the range separately. You can use relative referencing to
spill one column only and then drag the formula to spill each
source column on its own.

5 TRANSPOSE & FREQUENCY functions have become more


accessible and easier to use by everyone:
• Legacy Excel: Highlight the range, type in the formula, press CSE
• DA Excel: Type formula, press Enter

6 DA Performance: DA Referencing (multi instead of scalar)


calculates faster than legacy Excel formulas on smaller data
sets. The larger the data set, the slower DA formulas become
in comparison.

XelPlus.com 17
DA Impact on Legacy
Features
1 Data Validation can take advantage of spill references.
For example use =A2# as list source.

Keep spill ranges in data preparation tables.

You CANNOT use the new dynamic array formulas directly in


the data validation source box.

You CAN use the new dynamic array formulas in Name


Manager, but you CANNOT use these names in the data
validation source box (until now).

2 Conditional Formatting cannot take advantage of spill


references – to ensure enough cells have the formatting
applied to them, you need to extend the range of cells to
which conditional formatting should apply.

3 Charts can take advantage of using spill references:


• Create a separate spill range for each series & axis values
• Assign a name to each spill range
• Use the name for each chart series (keep the worksheet name)

XelPlus.com 18
Performance Testing
Array Referencing versus Standard Referencing
More info on Calculation speed and VBA code is provided by Excel MVP Charles Williams here.

Test #1 – Absolute & Mixed referencing such as =B2:B1000*E2:F1000


Calculation times Legacy version DA version
are in milliseconds DA (new) to Legacy
Manual Calc Automatic Calc Manual Calc Automatic Calc (original) - Manual Calc
1,000 rows 1 11.44 0.004 6.3 0.004 -45%
2 11.89 0.004 6.77 0.004 -43%
3 12.04 0.004 6.43 0.004 -47%
10,000 rows 1 12.71 0.005 8.94 0.006 -30%
2 12.95 0.005 8.54 0.006 -34%
3 12.9 0.005 8.5 0.005 -34%
300,000 rows 1 59.79 0.046 68.24 0.081 14%
2 58.74 0.038 64.22 0.047 9%
3 58 0.04 63.48 0.064 9%

3 tests were run per Test #2 – IF Function


case (number of
rows)
Legacy version DA version
DA (new) to Legacy
Manual Calc Automatic Calc Manual Calc Automatic Calc (original) - Manual Calc
1,000 rows 1 16.53 0.004 12.28 0.006 -26%
2 17.39 0.004 11.64 0.007 -33%
3 16.73 0.004 11.95 0.005 -29%
10,000 rows 1 18.45 0.006 16.37 0.009 -11%
2 18.5 0.006 16.14 0.008 -13%
3 17.68 0.008 15.71 0.007 -11%
300,000 rows 1 53.81 0.039 115.94 0.106 115%
2 52.1 0.033 113.04 0.11 117%
3 52.5 0.035 114.23 0.105 118%

Test #3 – VLOOKUP Function


Legacy version DA version
DA (new) to Legacy
Manual Calc Automatic Calc Manual Calc Automatic Calc (original) - Manual Calc
1,000 rows 1 25.91 0.018 21.7 0.016 -16%
2 26.34 0.017 23.38 0.015 -11%
3 28.57 0.015 21.54 0.017 -25%
10,000 rows 1 31.1 0.018 50.19 0.04 61%
2 31.85 0.023 47.05 0.039 48%
3 31.05 0.023 47.01 0.046 51%
300,000 rows 1 256.7 0.227 796.26 0.794 210%
2 252.39 0.237 803.84 0.796 218%
3 255.92 0.239 798.3 0.796 212%
XelPlus.com 19
Course Road Map
Basic Dynamic Arrays & Excel’s New Calculation
Engine (Hash / Spilled referencing)

How Legacy Formulas are Impacted in


the New Excel

How Excel Features are Impacted

Advanced
The ONE Theory you NEED to Use
FILTER Like a Pro

Array Logic & Array Constants in Formulas

Interactive Reports Made Easy with


Dynamic Arrays

Advanced Data Analysis

Expert
Advanced to Expert: How Arrays
Really Work

More Advanced Dynamic Array Examples

XelPlus.com 20
Why Boolean Logic is Important
Understanding this enables you to:
• Take advantage of Excel’s FILTER & other functions
• Easily handle complex data analysis
• For example filter results based on a more complicated AND, OR conditions
• Understand why this formula =FILTER(A5:A10,B5:B10<>0) is the same as
this one =FILTER(A5:A10,B5:B10)

FILTER function, filters values which return TRUE in the include argument:
=FILTER(A5:A10,B5:B10<>0)
Highlight each argument and
press F9 (To reverse – press
Is translated to Control + Z or Escape)

=FILTER({"Gary Miller";"James Willard";"Richard Elliot";"Robert


Spear";"Roger Mun";"Paul Garza"},{TRUE;FALSE;TRUE;TRUE;FALSE;TRUE})

Guess what?
You can also write the formula this way:
FILTER(A5:A10,B5:B10)

XelPlus.com 21
Excel’s Boolean Logic (TRUE, FALSE) Explained
TRUE in Excel takes different forms

TRUE is:
Any non-zero number (positive & negative values)
FALSE is:
Zero or empty cell

Performing math operations on TRUE & FALSE values

During a math operation:


TRUE becomes 1 & FALSE becomes 0

XelPlus.com 22
FILTER Like a PRO
AND logical test (*) OR logical test (+)

If you have more than one “test” in the Include argument of


FILTER – start with an open bracket & keep each test in its
own set of brackets.

Example AND Logical Test


AND

=FILTER(A7:C22,(ISNUMBER(C7:C22))*(C7:C22<>0))

Checks if range C is a Range C is not zero


number – i.e. not text

Example OR Logical Test


OR

=FILTER(B5:C20,(C5:C20>100000)+(C5:C20<30000),"No Data")

Checks if range C has Checks if range C has


values above 100000 values below 30000

Both results are shown

XelPlus.com 23
Excel Array Syntax
Rules for inputting array constants in new DA Excel:
• Wrap array constants in curly brackets { }
• Comma “,” represents column split and Semicolon “;” is for rows

Example: ={1,2}

Example: ={1;2}

Example: ={1,2;3,4;5,6}

XelPlus.com 24
Debugging Formula Trick
Why Debug?
• Understand why your formula returns wrong values
• Write complex formulas & view results one step at a time

Debugging Formula Trick

Use F9 shortcut key on parts of the formula in the formula bar

Make sure you correctly include brackets before pressing F9


You can copy the result – highlight & press Control + C
Before leaving the formula press Control + Z or Escape

Highlight
B14:B19>40000 in
the formula bar and
press F9.

Copy this part –


press Control + Z to
undo.

Paste the array


constant in C14 (don’t
forget the “=“ sign.

XelPlus.com 25
Course Road Map
Basic Dynamic Arrays & Excel’s New Calculation
Engine (Hash / Spilled referencing)

How Legacy Formulas are Impacted in


the New Excel

How Excel Features are Impacted

Advanced
The ONE Theory you NEED to Use
FILTER Like a Pro

Array Logic & Array Constants in Formulas

Interactive Reports Made Easy with


Dynamic Arrays

Advanced Data Analysis

Expert
Advanced to Expert: How Arrays
Really Work

More Advanced Dynamic Array Examples

XelPlus.com 26
Lifting Array Behavior
If a formula expects a scalar (one value) but is given an array,
the function lifts the multiple values to provide an output with
multiple results.

Month Function expects one value (Date)

If more than one value is provided, the MONTH function will return many
values.

Press F9 to debug

In Dynamic Array Excel, these values spill.


In Legacy Excel they couldn’t spill on the grid – We got what is called
“implicit intersection” (lecture coming up) but the values spilled correctly
in the formula bar if we pressed F9 to debug.

XelPlus.com 27
Pairwise Lifting Array Behavior
When multiple arrays of the same size are provided instead of
two scalars, they are lifted in pairs.

Here is what happens if we add two ranges together

Same number of values are provided. Excel lifts them in a pairwise


fashion: 1+4, 2+5, 3+6. If we use F9 in the formula bar we see the
result for each pair separately.

Press F9 to debug

In Dynamic Array Excel, these values spill.

In Legacy Excel they couldn’t spill on the grid – There we visible in the
formula bar but Excel wasn’t able to show all these values in one cell. It
only showed one result.

AND & OR logical tests in the Include argument of FILTER use


pairwise lifting:
=FILTER(A5:A7,(MONTH(A5:A7)>2)*(YEAR(A5:A7)=2019))

XelPlus.com 28
Broadcasting Excel Array Behavior
When we have arrays of different sizes, we need to expand the
smaller ones to be the same size as the big one so we can do
pairwise lifting.

Two ranges of different sizes added together


The 1 in cell B4 is broadcasted down so Excel can do pairwise lifting.

If arrays of different sizes are added together, the size of the


resulting array is equal to the largest height and the largest width of
the source arrays.

What if we have arrays of different sizes?

The last cell


results in an error
which results in an
error for the SUM
formula.

XelPlus.com 29
Implicit Intersection
This is the answer to why some Legacy Formulas needed
Control Shift Enter – if you didn’t use CSE, you’d get a result
based on Implicit Intersection.

What is Implicit Intersection?


In legacy Excel when multi values are given to scalar arguments – it
resulted in strange results.

Legacy Excel

If the formula is written in B2, the month formula returns the month
of the date in A2.
If it is written in B3, it will return A3.
This is implicit intersection.
If it is written in B4, it will return an error as there are no values in
front of the formula.

To disable implicit intersection, we needed to press CSE – but


before writing the formula we had to select the result area.

Normal Legacy Excel formulas allow for implicit intersection.


Exceptions are SUMPRODUCT, INDEX & AGGREGATE
functions. By design, they suppress implicit intersection.

What happens if the Legacy Excel file is opened in DA Excel?

Formula is wrapped
inside the SINGLE
function to ensure it
doesn’t
unintentionally
spill.

XelPlus.com 30
Are CSE Formulas No Longer Needed?
Short answer: No, they are NO longer needed.

What Microsoft
Suggests

“ CSE array formulas are only retained for


compatibility reasons. Going forward, you
should use dynamic arrays formulas instead.”
Source: Support.Office.Com

In some cases you can use CSE to avoid (too much) spillage

The SORT function will automatically


spill all results. To ensure we only show
top 3, we can highlight the resulting
area, go to the formula bar and press
Control + Shift + Enter.

This will restrict formula result spillage.

XelPlus.com 31
Course Road Map
Basic Dynamic Arrays & Excel’s New Calculation
Engine (Hash / Spilled referencing)

How Legacy Formulas are Impacted in


the New Excel

How Excel Features are Impacted

Advanced
The ONE Theory you NEED to Use
FILTER Like a Pro

Array Logic & Array Constants in Formulas

Interactive Reports Made Easy with


Dynamic Arrays

Advanced Data Analysis

Expert
Advanced to Expert: How Arrays
Really Work

More Advanced Dynamic Array Examples

XelPlus.com 32
THANK YOU!
Please take a few seconds to
leave a review for the course.
Your support is very much
appreciated.

XelPlus.com 33
More Learning…

If you’d like to improve your Excel knowledge, check out my


other courses:
Unlock Excel VBA & Excel Macros
Visually Effective Excel Dashboards
Advanced Excel: Top Excel Tips and Formulas
Excel Charts: Visualization Secrets for Impressive Reports
Ultimate Excel Waterfall Chart Course

I share free content on YouTube every Thursday. My


Channel is under my name.

You’ll find detailed blog posts and articles related to Excel


and PowerPoint on my Website at www.XelPlus.com

You might also like