Excel:列出2个数字之间的数字

我想知道是否有人知道一个公式列出所有的数值之间的2个值,所以例如,如果单元格F2有12个,G2有17个,我想要一个公式,将显示13,14,15,16在H2单元格中。

谢谢

这不能用Excel工作表函数完成。 你将需要VBA。 它可以用用户定义的函数(UDF)来完成。

以下代码需要存储在代码模块中。 您需要右键单击工作表选项卡,select查看代码。 这将打开Visual Basic编辑器。 单击插入>模块,然后粘贴以下代码:

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 

现在,您可以使用像=InBetween(F2,G2)这样的公式来生成您描述的结果。

您需要将该文件保存为具有XLSM扩展名的启用macros的工作簿。 查看代码和用户定义函数的屏幕截图。

在这里输入图像说明

仅仅因为@telyn说它不能用公式完成 – 这是一个基于公式的解决scheme:

首先,您需要创build可能需要的数字的完整列表作为string,这可能在另一个单元格中,或者我的首选项是创build一个命名范围。

因此,创build一个名为rng的新命名区域,并在“引用”文本框中添加以下公式:

 =",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20," 

为了这个解决scheme的工作,你必须知道前面的全部范围,还要注意前面和后面的逗号。

然后将下面的公式input到单元格H2中:

 =SUBSTITUTE(LEFT(rng,FIND(","&G2&",",rng)+LEN(G2)),LEFT(rng,FIND(","&F2&",",rng) ),"") 

与创build数字范围string的麻烦相同,我使用以下Powershell代码创build并将其复制到剪贴板:

 1..20 -join ',' | % {"=`",$($_),`""} | clip.exe 

只要在上面的代码中更改20就可以了。