It was difficult to understand what you are doing here. When I looked at your proposed UDF and your data, I could not tell what data you intended to be the "sigma" data and what data should go in the "vol" parameters.

However, knowing that the UDF was supposed to do linear interpolation, I made up a table of x and y values and used your function and my own linear interpolation function to compare, and could then compare the results. It appears that the proposed UDF is working just fine for linear interpolation. I'm not sure I understand your question.

Exactly what is your question, and what help do you need to resolve the issue?