**EPPlus has support for legacy array formulas and support for several new functions that depends on this functionality from version 7 and up. We have also improved the support for handling of complex addresses and usage of operators with ranges/addresses.**

## Legacy array formulas

Legacy arrayformulas are added with the function `CreateArrayFormula` on the `ExcelRangeBase` class - this corresponds to selecting a range in Excel, enter the formula in the top-left cell and then pressing CTRL+SHIFT+ENTER to confirm it.

With legacy array formulas you must specify the target range of the array, see example below:

```csharp
sheet.Cells["A1"].Value = 1;
sheet.Cells["A2"].Value = 2;
sheet.Cells["A3"].Value = 3;

sheet.Cells["A4:C4"].CreateArrayFormula("TRANSPOSE(A1:A3)");
sheet.Calculate();
// A4:C4 will now contain 1, 2, 3
```

```vbnet
sheet.Cells("A1").Value = 1
sheet.Cells("A2").Value = 2
sheet.Cells("A3").Value = 3

sheet.Cells("A4:C4").CreateArrayFormula("TRANSPOSE(A1:A3)")
sheet.Calculate()
' A4:C4 will now contain 1, 2, 3
```

## See also

- [Sample 6.2-C\#](<https://github.com/EPPlusSoftware/EPPlus.Samples.CSharp/blob/master/06-Formula calculation/02-Array formulas/UsingArrayformulas.cs#L76>) or [Sample 6.2-VB](<https://github.com/EPPlusSoftware/EPPlus.Samples.VB/blob/master/06-Formula calculation/02-Array formulas/UsingArrayformulas.vb#L65>)
- [Formula calculation](<https://epplussoftware.com/docs/formulas-and-filters/formula-calculation/index.md>)
- [Dynamic array formulas](<https://epplussoftware.com/docs/formulas-and-filters/formula-calculation/dynamic-arrayformulas/index.md>)
