interpolate missing data between points

R

Rocket Rod

Is there a way to automatically interpolate missing data between data points
in a spreadsheet
eg there might be a list of sequentail dates and a value against each one
but there might be 4 values missing.
By selecting the cells before and after teh missing 4, and choose a funtion
of interpolate, it automatically determines theer are 4 missing, theerfore
divides teh difference by 5 and adds that to each of the cells in turn -
filling in teh blanks.

Perhaps could be enhanced with options of moving average to calculate teh
next point
 
J

Jerry W. Lewis

Linear interpolation or other? If other, then more information is needed.

If the known data is contiguous, with the points to be interpolated
elsewhere on the sheet, you could use the FORECAST() function for linear
interpolation. If you want actual and interpolated data all together in
one array, then you will have to program the formula manually.

For linear interpolation, this is not difficult. For concreteness,
suppose dates are in column A with values in column B, and that B2 is to
be interpolated for A2 from A1:B1 and A3:B3. You can linearly
interpolate with
=B1+(A2-A1)*(B3-B1)/(A3-A1)
in B2. Copy/paste the formula into other cells with missing values,
(provided that you don't have 2 missing values in a row).

Jerry
 
B

BobT

Follow-up to Jerry:
if you are missing more than two values in a row, say from
B2 to B6,
B2> =B1+(A2-A1)*(B$7-B1)/(A$7-A1)
copied down will fill in all the values.
If there is a way to find the next row down in the column
that is not a formula you could do away with the absolute
reference that has to changed in every new section of
missing data.

for example instead of B$7 use indirect("B"&row(B2)+match
({NotFind("=")Formula},B3:B$65536,0)
(While avoiding a circular ref)

Is there a way to find the first entry in a range that is
a value, not a formula?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top