# Referencing the Last Cell in a Column

Patty asked about a common scenario, in which column B contains quite a bit of data, and information can be added to the cells in the column at any time. In a formula in cell C4, Patty wants to see the value at the bottom of those cells in column B that contain values. Thus, if cells B1:B27 contain data, then in cell C4 Patty wants to see the value that is in cell B27. If three more pieces of data are added to column B, then the value in C4 should contain the value in B30.

The solution to this problem depends on whether you can count on the data in column B containing blank cells or not. If the data is contiguous-it doesn’t contain any blank cells-then you can use the following formula in C4:

```=INDIRECT("B"&COUNTA(B:B))
```

This constructs an address based on the last cell in the column, and then uses the INDIRECT function to return the value at that address.

If it is possible for there to be blanks in column B, then the following formula will work:

```=INDIRECT("B"&MAX(ROW(1:1048576)*(B1:1048576"")))
```

Again, the INDIRECT function is used to fetch the actual value, but the address used by INDIRECT is put together differently.

A different approach is to use the VLOOKUP function to return the value. If column B consists of numeric values, then the following formula in C4 will work just fine:

```=VLOOKUP(9.99999999999999E+307,B:B,1)
```

If column B contains text, then the numeric lookup won’t work, but the following will:

```=VLOOKUP(REPT("z",50),B:B,1)
```