我在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)
小区E1:=MID($A1,FindN("978",$A1,4),13)
等...
如果我在单元格B1中复制整行的公式,它将复制=MID($A1,FindN("978",$A1,1),13)
- 但我需要“1”每次增加1。
我想我需要稍微调整一下公式,但是如何做到这一点有点迷失......
非常感谢任何帮助。如果我要进一步澄清,请告诉我。
答案 0 :(得分:2)
使用COLUMN()
- 它给出了当前单元格的列号。您可以根据需要对此进行抵消。
在这种情况下,对于递增的数字,使用COLUMN() - 1
,以便在B中你有1,C; 2等。
答案 1 :(得分:1)
试试这个:
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
答案 2 :(得分:1)
您需要使用CELL
公式来获取当前列号。尝试这样的事情:
=MID($A1,FindN("978",$A1,CELL("column";A1)+1),13)
我没有英文Excel,我不确定CELL
forumla中的第一个参数是“列”