首页 文章

Excel - 如何沿一行增加公式引用

提问于
浏览
2

我有很长的文本字符串保存在A列的大约1000个单元格中 .

我创建了以下公式(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)

Cell E1: =MID($A1,FindN("978",$A1,4),13)

等等...

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

我想我需要稍微调整一下公式,但有点失去了如何做到这一点......

任何帮助将不胜感激 . 如果我要进一步澄清,请告诉我 .

3 回答

  • 1

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

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

    我没有英文Excel,我不确定 CELL forumla中的第一个参数是"column"

  • 1

    使用 COLUMN() - 它给出当前单元格的列号 . 您可以根据需要进行抵消 .

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

  • 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
    

相关问题