## Explanation

In the example shown, we have a list of amounts by month. The goal is to dynamically sum values through a given number of months using a variable **n** in cell E5. Since month names are just text, and months are listed in order, the key requirement is to sum amounts *by ** position*, starting with cell C5. In other words, we want to sum the first

**n**values starting at cell C5. In the latest version of Excel, the best way to solve this problem is with the TAKE function, a new dynamic array function in Excel. In older versions of Excel, you can use the OFFSET function. Both approaches are explained below.

### TAKE function

The TAKE function returns a subset of a given array. The number of rows and columns to return is provided by separate *rows* and *columns* arguments. For example, you can use TAKE to return the first 3 rows or columns of an array like this:

```
=TAKE(array,3) // first 3 rows
=TAKE(array,,3) // first 3 columns
```

In this problem, the values we want to sum are in the range C5:C16, and the number of rows to return is a variable entered in cell E5. To return the first n values from C5:C16, we use TAKE like this:

`=TAKE(C5:C16,E5)`

In this configuration, TAKE will return an array with six values like this:

`{900;850;925;975;1050;1075}`

To sum these values, we nest the TAKE function inside the SUM function like this:

```
=SUM(TAKE(C5:C16,E5))
=SUM({900;850;925;975;1050;1075})
=5775
```

The result is 5,775, the sum of the first six values in the range C5:C16.

### OFFSET function

In older versions of Excel that do not have the TAKE function, you can use the OFFSET function to solve this problem. OFFSET is designed to create a reference to a range constructed using five inputs: (1) a starting point, (2) a row offset, (3) a column offset, (4) a height in rows, (5) a width in columns. To sum the first 6 values in C5:C16, we can use the OFFSET function with the SUM function like this:

`=SUM(OFFSET(C5,0,0,E5))`

Inside OFFSET, we use C5 for *reference*, since we want to start at C5. Next, we provide 0 for *rows* and 0 for *cols* since we don't want a row offset or a column offset. Finally, we provide E5 for *height*, since this cell contains the number of rows to include in the sum. We don't need to provide a value for the optional *width* argument, since width will be automatically inherited from *reference*. In this configuration, OFFSET will return a reference to C5:C10. The formula will evaluate like this:

```
=SUM(OFFSET(C5,0,0,E5))
=SUM(C5:C10)
=SUM({900;850;925;975;1050;1075})
=5775
```

The final result is 5,775, the sum of the first six values in the range C5:C16.