Google-sheets – Google Spreadsheet: How to fill in missing values (inbetween filled values) automatically

google sheets

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?

https://docs.google.com/spreadsheets/d/1akWP5W2HHb1Pzfd3pk7HLKZNGa22qPQBiCCF-0PgaPM/edit?usp=sharing

Best Answer

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 ?