ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   interpolate missing data between points (https://www.excelbanter.com/excel-worksheet-functions/15213-interpolate-missing-data-between-points.html)

Rocket Rod

interpolate missing data between points
 
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

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

Rocket Rod wrote:

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



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?

-----Original Message-----
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

Rocket Rod wrote:

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


.



All times are GMT +1. The time now is 01:16 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com