Excel:如何在公式中增加单元格引用的行索引?

Excel:如何在公式中增加单元格引用的行索引?

在我的工作表中,我有几个单元格包含具有相同行索引的不同单元格引用。

现在我想引用这几个单元格,但为其添加一个固定的行偏移:

截屏

因此,这些单元格中期望的结果是单元格“AG11”、“AH11”……中的信息。

我可以轻松地手动复制范围并手动更改行号,但我很好奇是否有可以实现这一点的函数/命令。

=AG&"6+5"能用或类似的语法来完成这样的事情吗?

谢谢。

答案1

直接回答:

可以使用 =AG&"6+5" 或类似的语法来完成此类事情吗?

将会:

=Indirect("ag"&6+5)

如果你删除或添加行或列,则此项将不会更新

AB列在列上显示公式 示例 1


你也可以使用:

=Indirect(Address(Row(AG6)+5,Col(AG6)))

或者

=INDIRECT(ADDRESS(6+5,33))

如果您删除或添加行或列,最后一个将不会更新

示例 2 上面的例子使用的是 Google Sheets,但应该也适用于 Excel


尽管如果您想要的是一次性更改大量单元格,这可以通过宏或自定义外部程序来实现,这些程序可以读取工作簿并更改相应的单元格引用,但如果您的最终目标只是拥有,那么两者都应该返回更漂亮的解决方案=AG11

以下是在 OpenOffice 中如何工作的示例:

Sub Main
    Dim sheet As Object
    sheet = ThisComponent.CurrentController.ActiveSheet
    For i = 1 To 5
        Dim formula As String
        Dim address As New com.sun.star.table.CellAddress
        Dim cellName As String
        formula = sheet.getCellRangeByName("B" & i).Formula
        address = sheet.getCellRangeByName(Right(formula, Len(formula)-1)).getCellAddress()
        cellName = Chr(address.Column + 65) & (address.Row+2)
        sheet.getCellRangeByName("B" & i).Formula = "=" & cellName
        Next i
End Sub

将会改变: A列显示公式在B列 宏之前

到:

宏之后

我无法分享 Excel 中的宏示例,因为我并不拥有它,我可以做一个外部程序示例,但它可能超出了这个问题的范围。

相关内容