I was wondering if anyone knew of a formula to list all the numbers between 2 values, so for example if cell F2 had 12 in it and G2 had 17 in it I\'d like a formula that would s
Just because @teylyn said it couldn't be done with a formula - here is a formula based solution:
First you need to create the full list of numbers that you are likely to need as a string, this could be in another cell or my preference would be to create a named range.
So create a new named range called rng and in the Refers to text box add the following formula:
=",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,"
For this solution to work you have to know the full range upfront, also note the leading and trailing comma.
Then enter the following formula into cell H2:
=SUBSTITUTE(LEFT(rng,FIND(","&G2&",",rng)+LEN(G2)),LEFT(rng,FIND(","&F2&",",rng) ),"")
To same the tedium of creating the number range string I used the following Powershell code to create and copy it to the clipboard:
1..20 -join ',' | % {"=`",$($_),`""} | clip.exe
Just change the 20 in the above code for whatever range you require.
This cannot be done with an Excel worksheet function. You will need VBA for that. It can be done with a user-defined function (UDF).
The following code needs to be stored in a code Module. You need to right-click the sheet tab, select View Code. This will open the Visual Basic Editor. Click Insert > Module and then paste the following code:
Function InBetween(MyFirst As Integer, MyLast As Integer)
Dim foo As String
Dim i As Long
foo = MyFirst + 1
For i = MyFirst + 2 To MyLast - 1
foo = foo & "," & i
Next i
InBetween = foo
End Function
Now you can use a formula like =InBetween(F2,G2)
to produce the result you describe.
You need to save the file as a macro-enabled workbook with the XLSM extension. See screenshot for code and user defined function in action.