XonGrid is a free Excel library of functions to perform 1D, 2D, 3D, 4D and arbitrary dimension (ND) interpolations from scattered data. [ cette page en français ]
 DOWNLOAD XonGrid 4 for Excel 32 / 64 bits 
↓↓ DOWNLOAD XonGrid 4 sources ↓↓
1D Interpolation Input
Interpolation Example
2D Example
Download and extract the XonGrid archive, open the add-in loader called
**INSTALL-XLL** and click on the «Install xll» button. XonGrid is a user add-in, no administrative privilege is required to install it. *Macros must be activated to use the add-in loader. If you are not able to activate macros, follow these instructions to load the add-in in Excel. For the 32 bits version of Excel select XonGrid.xll and for the 64 bits version of Excel select XonGrid-w64.xll.*
To use an interpolation function, click on the
* button on the formula bar, select the fx*
Examples of usage are included with the XonGrid archive

Available interpolation functions and options are presented on the table below. The Kriging interpolation with
*Method = 1.5* is highly recommended. Click on links for functions definition

|Function
|
Name
|Scaling
|
of
Parameters
|Linear
|
Interpolation
|Akima
|
Interpolation
|Natural
|
Neighbors
Interpolation
|Nearest
|
Neighbor
Interpolation
|Kriging
|
Interpolation
|Interp1d||
|
Not Applicable
|
|
Method = −1
|
|
Method = −2
|
|
Not Available
|
|
Method = 0
|
|
Method
= 1 to 1.99
|Interp2dTab||
|
Scaling
= 0 or 1
|
|
Not
Available
|
|
Method = −3
|Interp2d||
|
Not
Available
|Interp3d||
|
Not
Available
|Interp4d|
|InterpNd||See function description for details|
In an Euclidean space, the distance between two points A and B is given by:
Distance if Scaling = 0
If parameters are non-homogeneous physical variables (
*e.g.* Volts and kg), calculate the distance without Scaling has no meaning. If *Scaling = 1*, XonGrid calculate the distance with scaled parameters and the transform shown below is applied to each parameter

Initial parameters space (Scaling = 0) → Scaled parameters space (Scaling = 1)
The distance in the scaled space is:
Distance if Scaling = 1
XonGrid considers a linear variation of the function between known values

XonGrid use the Akima interpolation method. [ Akima's original article ]
XonGrid performs a bilinear interpolation from tabulated data

Xongrid call the nn implementation of natural-neighbor interpolation

XonGrid returns the function value of the nearest-neighbor

XonGrid uses Ordinary Kriging interpolation with the power variogram presented below


with 1 ≤ β ≤ 1.99 (β = 1.5 is a good choice)
Kriging interpolation on a large data set requires a huge amount of memory. To prevent Excel instabilities, the number of points is limited to 1024. Use the
*SubKriging* optional parameter to perform a Kriging interpolation with more than 1024 points:
Subset selection with SubKriging = 6 or SubKriging = −R
*If the SubKriging parameter is missing, all points will be used for Kriging interpolation.* *If Scaling = 1, the distance for selection of nearest points is calculated in the scaled space (see «Scaling of Parameters» section)*
A user defined interpolation method can be implemented in the
**source/user-defined.c** file of the source code. The build procedure is detailed in the **README** file

Two XonGrid interpolation functions can be called from Visual Basic:
The declaration of these functions and three examples of usage are given in the
**Example-VB** file

These functions do not always honor the data. They provide a smoothed or approximated estimation of the function. Several parameters are available to control the smoothness of the output

Gaussian Process Regression is an other name of Kriging. The present implementation is more sophisticated than the one used for interpolation. The following functions are available:
For an introduction to Gaussian Process Regression, you can read the following sections of Numerical Recipes:
*The guest access to Numerical Recipes is limited to few dozen of pages per month.*
Examples of usage are given in the
**Example-gpr** file

XonGrid use the csa implementation of the cubic spline approximation technique. Two functions are available:
Examples of usage are given in the
**Example-csa** file

Download the source code, extract the archive and follow instructions in the
**README** file

XonGrid includes the following components:
Yes. XonGrid is a free software. Read the license for details. Nevertheless if you have found XonGrid really useful, I accept thanks at this address

If you are performing multiple interpolation from the same data set, you should try array formulas as shown on example files. The table below shows calculations speed up for various Kriging (β = 1.5) interpolation cases

|Interpolation
|
function
|Number of
|
data
points
|Number of
|
interpolated
values
|Calculation time
|
with
single cell formula (s)
|Calculation time
|
with
array formula (s)
|Calculation
|
speed up
|Interp1d||12||46||0.02||0.006||3|
|Interp1d||1000||46||23||0.5||46|
|Interp2d||16||256||0.14||0.025||6|
|Interp3d||64||256||0.56||0.03||19|

|Interp4d||192||256||0.9||0.05||18|
|InterpNd (N=2121||121||0.57||0.021||27|
Globally, bigger is the data set, better is the array formula calculation speed up

Multi thread calculation significantly improves performance. To enable multi thread calculation, follow these instructions. Finally, this excellent article contains everything you need to know to improve Excel performances

The choice of the interpolation methods depends on:
Usually, while the data contains less than approximately 200 points, performances should not be an issue whatever is the selected interpolation method. To select an interpolation method, use the figure below. It shows the relative characteristics of interpolation methods in a smoothness
*vs* calculation speed chart

Interpolation Methods: smoothness
*vs* calculation speed
Since Windows Vista and Excel 2007, it is %APPDATA%\Microsoft\AddIns. The following command should open this folder:
explorer.exe %APPDATA%\Microsoft\AddIns
Open the add-in loader called
**INSTALL-XLL** and click on the «Reinstall or update xll» button

Or, replace .xll and .chm files in the add-in folder

Open the add-in loader called
**INSTALL-XLL** and click on the «Uninstall xll» button

Or, delete .xll and .chm files in the add-in folder

.xll and .chm files must be stored in the same folder.