Excel在公式中粘贴绝对引用但增加1

时间:2018-02-19 11:39:27

标签: excel excel-vba excel-formula vba

我有一个电子表格,其中有许多公式分布在工作表上(它们之间平均大约有5个单元格)

我想从a1复制公式并将其粘贴到单元格6中,但公式只会将单元格引用增加1.例如:

=IF(ISBLANK(sheet1!$a$2),"",sheet1!$a$2)

并将其粘贴到单元格a7中,但现在绝对引用

=IF(ISBLANK(sheet1!$a$3),"",sheet1!$a$3)

大约有200张要添加到工作表中,所以我不想在粘贴后手动编辑每一个!

tldr: 复制公式粘贴,绝对引用更新为1而不是行号。

先谢谢!

2 个答案:

答案 0 :(得分:3)

在A列和一些数学上使用INDEX来创建交错。

=IF(ISBLANK(INDEX(Sheet1!$A:$A, INT((ROW(1:1)-1)/5)+1)), "", INDEX(Sheet1!$A:$A, INT((ROW(1:1)-1)/5)+1))

我认为INT可以用ROUND代替'模糊'错开平均约5个单元格'

增加交错的其他可能性可能是COUNT,COUNTA,COUNTIF甚至COUNTIFS,但是你还没有提供足够的信息来建立超出一般性的任何具体建议。

答案 1 :(得分:1)

尝试以这种方式使用间接:

=IF(ISBLANK(INDIRECT("Sheet1!$A$" & ROW()+1)),"",INDIRECT("Sheet1!$A$" & ROW()+1))

如果您喜欢使用VBA,可以使用这个简单的循环

Sub Test()
    Dim r As Long

    For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step 6
        Cells(r, 1).Formula = "=IF(ISBLANK(Sheet1!$A$" & r + 1 & "),"""",Sheet1!$A$" & r + 1 & ")"
    Next r
End Sub