How to enter an array formula
Why are array formulas so powerful?
They allow you to do things not possible with regular formulas, an array formula can do multiple calculations on several values simultaneously. You can do seriously complicated calculations, Excel is definitively a powerful tool.
How do I start?
Constructing an array in excel is easy. Double click on cell A1 and type ={1,2,3} in the formula bar and hold and press CTRL + SHIFT simultaneously, then press Enter once. Release all keys.
The formula must have a beginning and ending curly bracket. Don't enter those characters yourself. Make sure the formula bar looks like this: {={1,2,3}}
If your formula bar looks like the picture above then you have made your first array!
Why is only one value shown? I have 3 values in the array? There can only be one value in each cell. To be able to see all values enter the formula in cell range A1:C1
- Select cell range A1:C1
- Click in formula bar
- Press and hold CTRL + SHIFT simultaneously
- Press Enter
- Release all keys
The animated picture above shows you how to extend an array formula from cell A1 to A1:C1, this allows you to see all values in the array.
You have now extended the formula to three cells and all values in the array are visible on the sheet, see picture above.
Arranging constants in a formula
You can construct arrays with a comma delimiter and a semicolon delimiter.
What is the difference? Use the comma when you want values horizontally and semicolon vertically. Look at the formula bar in this animated picture:
You can also combine colons and semicolons. ={1,2;3,4} A comma tells excel that the next value is to the right of the first value. A semicolon puts the next value on the next row.
I try to enter an array with text values but it doesn't work, why? Use double quotes around your values, like this: ={"A","B"}
Cell references in formulas
All arrays presented above contains constants, meaning they don´t change unless you edit them. This formula =A1:A10 contains a cell reference to A1:A10. The values in this formula change if you change a value in cell range A1:A10. Formula =A1:A10 does not contain any constants.
This means that you can use values on your sheet in your array formula. This is extremely useful.
Quickly build an array
I want to construct an array from 1 to 1000? I don´t want to enter all these values. You don't have to, the ROW function can do that for you. =ROW(1:1000) creates an array from 1 to 1000.
Hard code values
Can I hard code values from 1 to 1000 in a formula without entering them myself? Yes, you can. Type =ROW(1:1000) in the formula bar and press F9.
Excel converts =ROW(1:1000) to ={1,2,3, ... , 1000)
Is Ctrl + Shift + Enter always necessary?
Can I build an array formula without entering it as an array formula?
Yes, you often can. However it makes the formula more complicated. Read this post: No more array formulas?
Can I enter an array formula in merged cells?
Excel tells me "Array formulas are not valid in merged cells", how can I
You can enter array formulas in merged cells: How to enter array formulas in merged cells
Are there any exceptions?
Yes, both the SUMPRODUCT function and the LOOKUP function lets you build arrays without requiring you to enter it as an array formula.
How to use the SUMPRODUCT function
The SUMPRODUCT function calculates the product of corresponding values and then returns the sum of each multiplication.
How to use the SUMPRODUCT function
How to use the LOOKUP function
Finds a value in a sorted cell range and returns a value on the same row.
How to use the LOOKUP function
The INDEX function lets you encapsulate an array so you don't need to enter it as an array formula:
Convert array formula to a regular formula
This article explains how to avoid array formulas if needed. It won't work with all array formulas, however, smaller ones […]
Convert array formula to a regular formula
Gets a value in a specific cell range based on a row and column number.
Any caveats?
A major disadvantage with array formulas is that if you double click on a cell containing an array formula and then clicks on another cell, the array formula changes to a regular formula. Beginner Excel users may not know about this and could possibly break your worksheet calculations.
However, this is not the case if you press Escape key to exit editing an array formula or if you press CTRL + SHIFT + Enter.
Array formulas can slow down your worksheet calculations.
Alright, show me some useful array formulas?
5 easy ways to extract Unique Distinct Values
First, let me explain the difference between unique values and unique distinct values, it is important you know the difference […]
5 easy ways to extract Unique Distinct Values
5 easy ways to VLOOKUP and return multiple values
This post explains how to lookup a value and return multiple values. No array formula required.
5 easy ways to VLOOKUP and return multiple values
This article explains how to repeat specific values based on a table, the table contains the items to be repeated […]
Cool, even more complicated calculations?
Count multiple text strings in a cell range
This article demonstrates an array formula that counts how many times multiple text strings exist in a cell range. The […]
Count multiple text strings in a cell range
This article demonstrates a scoreboard, displayed to the left, that sorts contestants based on total scores and refreshes instantly each […]
Excelxor is such a great website for inspiration, I am really impressed by this post Which numbers add up to […]
Count overlapping days across multiple date ranges
This post demonstrates a formula in cell D16 that counts overlapping dates across multiple date ranges. The date ranges are […]
This post will teach you how to work with excel arrays in visual basic for applications (VBA). Why do you […]
How to enter array formulas in merged cells
Have you ever tried to enter an array formula in merged cells? Then you are familiar with this error message: […]
3 Responses to “How to enter an array formula”
Leave a Reply
How to comment
How to add a formula to your comment
<code>Insert your formula here.</code>
Convert less than and larger than signs
Use html character entities instead of less than and larger than signs.
< becomes < and > becomes >
How to add VBA code to your comment
[vb 1="vbnet" language=","]
Put your VBA code here.
[/vb]
How to add a picture to your comment:
Upload picture to postimage.org or imgur
Paste image link to your comment.
First, this is the greatest site I ever found regarding excel tips and tricks and the way you explain your solutions!! My question: I have noticed that array formulas are very calculation intensive, so when you have 500 or more lines, calculating the sheet gets slow. What is your experience or recommendation regarding the size limits of using array formulas efficiently? I did not find anything posted... (I work with sheets that have tens of thousands of lines)
[…] Diagramme wirken mitunter überladen und sind deshalb schwer zu deuten. Autor Alexander Wildt zeigt, wie mit Hilfe von Steuerelementen Säulendiagramme in verschiedenen Perspektiven dargestellt werden können. Get-Digital-Help 07.09.2015 „Learn the basics of Excel arrays“ https://www.get-digital-help.com/2015/09/07/learn-the-basics-of-excel-arrays/ […]
Hi Oscar
I tried your example as above, but it does not function on my spreedsheet.
=INDEX($C$3:$C$7, SMALL(IF(($B$10=$B$3:$B$7), MATCH(ROW($B$3:$B$7), ROW($B$3:$B$7)), ""),ROWS($A$1:A1)))
Please assist.
PS. I'm using MS Offic 2010
Regards
Leslie