In the following Google sheet:
  A          B
 ------------------------
1| Tom     | something  |
2|         | something  |
3| John    | something  |
4| Lana    | something  |
5|         | something  |
6|         | something  |
7| Jason   | something  |
 ------------------------
I want an array formula applied to column A which will automatically fill any blanks with the last data in the cell above (or above that, if there are multiple blanks).
The result should look like this:
  A          B
 ------------------------
1| Tom     | something  |
2| Tom     | something  |
3| John    | something  |
4| Lana    | something  |
5| Lana    | something  |
6| Lana    | something  |
7| Jason   | something  |
 ------------------------
As the sheet can be massive, applying the formula to each cell is not practical.
If I paste the formula =if(ISBLANK(A2), A1) into the blanks manually it will fill them, but dragging said formula over a whole column will not work.
                        
That solution might help from this source:
https://infoinspired.com/google-docs/spreadsheet/fill-blank-cells-with-the-values-above/
The advantage it doesn't add extra rows at the tail end of the column.