Excel formula 是否有Excel公式可以将一组单元格在每个方向上移动特定数量?

Excel formula 是否有Excel公式可以将一组单元格在每个方向上移动特定数量?,excel-formula,Excel Formula,我尝试使用偏移功能,但没有效果。基本上,我有几个单元格,需要在x和y方向上按用户指定的数量移动它们。我该怎么做呢?恐怕VB是唯一的方法,除非你“作弊”一点 我只是用这张谷歌表来说明“作弊”的概念 谷歌表单“同等”颜色放置: 另一种方法是屏蔽一系列具有以下功能的单元: =if(and(row(A1) - row(A$1) = row offset value, column(A1)-column(A$1 = column offset value), desired cell to move,

我尝试使用偏移功能,但没有效果。基本上,我有几个单元格,需要在x和y方向上按用户指定的数量移动它们。我该怎么做呢?

恐怕VB是唯一的方法,除非你“作弊”一点

我只是用这张谷歌表来说明“作弊”的概念

谷歌表单“同等”颜色放置:

另一种方法是屏蔽一系列具有以下功能的单元:

=if(and(row(A1) - row(A$1) = row offset value, column(A1)-column(A$1 = column offset value), desired cell to move, "")

这种方法的适用性完全取决于目的:如果您的目标是一个视觉目标,而实际值并不重要,那么google sheets示例就是一种方法,但您放置的值非常有限(在excel中只能使用值,这样的函数将填充多个单元格

Function populate()
    Evaluate "eventFinal(" & Application.Caller.Offset(0, 1).Address(False, False) & ")"
    populate = "result here >>"
End Function

Private Sub eventFinal(CellToChange As Range)
Dim numbers(2, 1) As Integer
    numbers(0, 0) = 25
    numbers(0, 1) = 21
    numbers(1, 0) = 3
    numbers(2, 0) = 4
    numbers(1, 1) = 2
    numbers(2, 1) = 6
    CellToChange.Resize(3, 2) = numbers
End Sub

公式将值返回到它所在的单元格中。它不能将值放在其他单元格中。是否有办法解决此问题?我知道有人以前做过此操作,我怀疑他们是否使用VBA?然后他们填充了一个很大范围的IF公式,如果单元格等于指定的数字,则返回正确的值。