2 min readfrom Microsoft Excel | Help & Support with your Formula, Macro, and VBA problems | A Reddit Community

2‑Axis Engineering Interpolation Tool in Excel, anyone willing to test it?

Hi all,

I’ve been working on a compact Excel tool for engineering use, and I’m hoping a few people here wouldn’t mind testing it or giving feedback. The formula is quite robust but that shouldn't be an issue if hidden in naming manager.

It’s essentially a 2‑axis interpolation engine designed for situations where you have one variable mapped along an X‑curve and another along a Y‑curve, and you need to find the corresponding point between them. This comes up a lot in mechanical/HVAC calculations (pump curves, fan curves, performance maps, etc.), but it should work for any pair of numerical axes. I used AutoCAD to manually measure displacement between graph positions, perhaps there's a better way.

As a side note, the formula uses a custom INTERPOLATE LAMBDA internally (since the function has to be called multiple times throughout the calculation). The main function stitches together several interpolations to produce the final result.

INTERPOLATE: =LAMBDA(X,X_1,X_2,Y_1,Y_2,(Y_1+(Y_2-Y_1)*(X-X_1)/(X_2-X_1))) GRAPH_INTERPRETER: =LAMBDA(Point_X,X_A,X_B,Y_A,Y_B,Ax_X,Ax_Y,Ds_X,Ds_Y, LET( Row_X,MATCH(Point_X,Ax_X), Point_X0, INDEX(Ax_X,Row_X), D_X0, INDEX(Ds_X,Row_X), Point_X1, IFERROR(INDEX(Ax_X,Row_X+1),MAX(Ax_X)), D_X1, INDEX(Ds_X,MATCH(Point_X1,Ax_X)), D_X, INTERPOLATE(Point_X,Point_X0,Point_X1,D_X0,D_X1), Row_X_A,MATCH(X_A, Ax_X), P_XA1,INDEX(Ax_X, Row_X_A), P_XA2,IFERROR(INDEX(Ax_X,Row_X_A+1),D_XA1), D_XA1,INDEX(Ds_X, Row_X_A), D_XA2,IFERROR(INDEX(Ds_X, Row_X_A+1),D_XA1), D_XA,INTERPOLATE(X_A,P_XA1,P_XA2,D_XA1,D_XA2), Row_X_B,MATCH(X_B, Ax_X), P_XB1,INDEX(Ax_X, Row_X_B), P_XB2,IFERROR(INDEX(Ax_X, Row_X_B+1),D_XA1), D_XB1,INDEX(Ds_X, Row_X_B), D_XB2,IFERROR(INDEX(Ds_X, Row_X_B+1),D_XA1), D_XB,INTERPOLATE(X_B,P_XB1,P_XB2,D_XB1,D_XB2), Row_Y_A,MATCH(Y_A, Ax_Y), P_YA1, INDEX(Ax_Y, Row_Y_A), P_YA2, IFERROR(INDEX(Ax_Y, Row_Y_A+1),P_YA1), D_YA1,INDEX(Ds_Y, Row_Y_A), D_YA2,IFERROR(INDEX(Ds_Y, Row_Y_A+1),D_YA1), D_YA,IFERROR(INTERPOLATE(Y_A,P_YA1,P_YA2,D_YA1,D_YA2),D_YA2), Row_Y_B,MATCH(Y_B, Ax_Y), P_YB1,INDEX(Ax_Y, Row_Y_B), P_YB2,IFERROR(INDEX(Ax_Y, Row_Y_B+1),P_YB1), D_YB1,INDEX(Ds_Y, Row_Y_B), D_YB2,IFERROR(INDEX(Ds_Y, Row_Y_B+1),D_YB1), D_YB,IFERROR(INTERPOLATE(Y_B,P_YB1,P_YB2,D_YB1,D_YB2),D_YB1), Length_A, (D_XB - D_XA), Length_B, (D_YB - D_YA), Length_A1,(D_X - D_XA), Length_B1,(Length_B / Length_A) * Length_A1, Vect_Y, (Length_B1 + D_YA), Vect_Y0,INDEX(Ds_Y,MATCH(Vect_Y,Ds_Y,1)), Point_Y0,INDEX(Ax_Y,MATCH(Vect_Y0,Ds_Y,0)), Vect_Y1,INDEX(Ds_Y,MATCH(Vect_Y,Ds_Y,1)+1), Point_Y1, INDEX(Ax_Y,MATCH(Vect_Y1,Ds_Y,0)), Point_Y,IF(Point_X=MAX(Ax_X),MAX(Ax_Y),INTERPOLATE(Vect_Y,Vect_Y0,Vect_Y1,Point_Y0,Point_Y1)), Point_Y)) 
submitted by /u/StudentNaive7003
[link] [comments]

Want to read more?

Check out the full article on the original site

View original article

Tagged with

#Excel alternatives for data analysis
#natural language processing for spreadsheets
#generative AI for data analysis
#Excel compatibility
#Excel alternatives
#AI formula generation techniques
#formula generator
#rows.com
#no-code spreadsheet solutions
#big data performance
#2-Axis Interpolation
#Excel tool
#INTERPOLATE LAMBDA
#engineering
#X-curve
#Y-curve
#custom formula
#mechanical calculations
#HVAC
#numerical axes