I made a spreadsheet for tracking weight, where each row is one day, and one column is weight. Although I've had Google Spreadsheet create a row for every date in the year, I only measure my weight a few times a week. What I would like is a formula to tell Google Docs to use "the last manually filled entry higher in the column", or something along these lines. Ideally, the last filled row though, will be a manual entry (i.e., hopefully I could paste the formula into all cells in the column, and blank rows between manually-entered rows are filled, but nothing after the last manual entry).

Even more ideally, between two manually filled rows (i.e., row 10 and row 15), the formula would be able to interpolate between the two, but I realize that is asking a bit much.

I have no experience in making these formulas though, can anyone point me to somewhere to start to solve this problem?


  • I thought I'd left a comment, but does the increment need to be adjusted by the number of empty rows?
    – Jacob Jan
    Commented Jan 15, 2015 at 12:06

1 Answer 1


I added this formula to your spreadsheet

=ArrayFormula(if(row(B2:B) <= max(if(not(isblank(B2:B)), row(B2:B))),vlookup(row(B2:B),filter({row(B2:B),B2:B},len(B2:B)),2),))

It seems to deliver what you asked, except for the interpolation part. Enter this formula in row 2, no need to drag down. I hope this helps ?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.