I am using Basic Excel R Toolkit (BERT) to code R functions for Excel, and I want to use the Nelson Siegel estimation function "**NSrates**" which is under the R package "**Yield Curve**".

For that, I have written an R function in BERT, with the goal of calling it in Excel and feeding it with Excel Range inputs directly.

The steps I've performed so far:

**1**. I have installed the BERT extension on my computer from https://bert-toolkit.com/

**2**. I have installed all the required packages for the following code to work:

**This is the code I wrote in BERT:**

```
NelsonSiegel_current <- function(matCurrent, matRangeCurrent, rateRangeCurrent) {
library("YieldCurve")
NSParameters <- Nelson.Siegel(rate = rateRangeCurrent, maturity = matRangeCurrent)
print(NSParameters)
NSrateCurrent <- NSrates(NSParameters[1,],matCurrent)
return(NSrateCurrent)
}
```

**2**. I tried to call the function in Excel just as in the image below (the input ranges are also visible in the picture):

**3**. I received a **!VALUE** error in Excel just as in the image below:

**4**. I looked for the error in BERT compiler :

I think the problem is within the **NSrates** function, as I am feeding it with Excel Ranges, but I have no idea of which format I should convert the ranges to in order for this to work.

I tried to convert the Excel ranges into R vectors using `as.vector(t(MY_RANGE))`

but the "**NSrates**" function still gave me the same error. I am expecting that the "**NSrates**" function should give a numeric value as an output in Excel.