Excel – 如何在一行中增加公式引用

我有很长的一串文字保存在A列下方大约1000个单元格中。

我已经创build了下面的公式(包括FindN的一些VBA),放在单元格B1中:

=MID($A1,FindN("978",$A1,1),13)

我可以把这个公式复制到B列就好了。 不过,我也想复制这个公式在每一行,所以例如整个行的单元格的公式应该如下:

单元格C1: =MID($A1,FindN("978",$A1,2),13)

单元格D1: =MID($A1,FindN("978",$A1,3),13)

单元格E1: =MID($A1,FindN("978",$A1,4),13)

等等…

如果我将单元格B1中的公式复制到行中,它将复制到=MID($A1,FindN("978",$A1,1),13) – 但是我需要“1”每次增加1 。

我想我需要稍微调整公式,但在如何做到这一点上有点失落…

任何帮助将不胜感激。 请让我知道我是否应该进一步澄清。

您需要使用CELL公式来获取当前列号。 尝试这样的事情:

=MID($A1,FindN("978",$A1,CELL("column";A1)+1),13)

我没有英文Excel和即时通讯不知道第一个参数在CELL论坛是“列”

使用COLUMN() – 它给出当前单元格的列号。 你可以根据需要抵消这个。

在这种情况下,你的递增数字使用COLUMN() - 1 ,所以在B中你有1,C; 2等

尝试这个 :

 Sub Fill() With Sheets("Sheet1") For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row .Cells(i, 1).FormulaR1C1 = "=MID($A1,FindN(" & _ Chr(34) & "978" & Chr(34) & _ ",$A1," & i - 1 & "),13)" Next i End With End Sub