Assuming that they work the same as most ECUs then it would involve some form of fuzzy logic, utilising the values of the four surrounding cells.
To make sure that adjacent cells don't have an effect, when the X & Y values are close to an actual cell, there will be some point at which that cells value is used as the sole point of reference. Typically that would be around 10% of the difference between adjacent cells. Outside that area the calculations would involve determining the weighting to be applied to the various cell values.
e.g. If you had RPM columns at 4500 & 5000 rpm and MAP rows at 150 & 180kpa, then the four cells involved would be (4500,150), (4500,180), (5000,150), & (5000,180).
If the engine was at 4750rpm and 165kpa then all cells would be weighted 25% each.
At 4750rpm and 150kpa then the (4500,150) and (5000,150) cells would receive 50% weighting each.
At 5000rpm and 165kpa then the (5000,150) and (5000,180) cells would receive 50% weighting each.
At 4550rpm & 153kpa the (4500,150) cell value would be used.
And for a more complicated point, like say 4800rpm & 160kpa ,the (5000,150) cell would get the greatest weighting, then the (4500,150) & (5000,180) cells, with the (4500,180) cell having the lowest weighting.
Hope that isn't too confusing, and bear in mind that it's just a best guess based on how the Motec does it... BTW the next release of the Motec software will have 4D tables (e.g. RPM, MAP & TPS dependent) so the algorithms will be even more complicated then
