从上面的单元格中获取价值

时间:2014-10-03 12:10:30

标签: reference google-sheets relative-path

Google Spreadsheets是否有可能达到上面单元格的值?

含义:在一个单元格A2中,我想显示上面单元格中的值,即A1。不是因为它是那个坐标,而是因为它是上面的单元格。我这样做只需将值设置为等于上面的单元格:

enter image description here

如果我在这两者之间创建一个新行,我明白了:

enter image description here

我们知道,值没有变化,因为引用不是这样的相对值。我怎样才能使它相对于细胞,所以我总是选择上面的细胞来改变什么?我希望结果如下:

enter image description here

术语 relative 当然是wrong in the case,但我希望你明白我的观点。我两者想要通常的相对行为(所以我可以移动单元格本身,它的引用将适合新的coloumn和行)以及引用的行为不是指向特定的固定坐标,而是指向细胞本身的特定路径。

3 个答案:

答案 0 :(得分:90)

您可以这样解决:

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

COLUMN()返回当前列的数字引用

ROW()返回当前行的数字引用。

在此处的示例中,从行中减去1可以得到上一行。此数学可以应用于ROW()和/或COLUMN(),但在回答您的问题时,此公式将引用上面的单元格。

然后我们有ADDRESS()接受数字行和列引用,并返回一个字符串引用作为字符串。

最后,INDIRECT()允许您以字符串形式传递单元格引用,并将其作为公式处理。

Google Spreadsheets会在您输入时为您提供帮助提示,因此您在输入上述公式时应获得每个功能的完整说明。

答案 1 :(得分:12)

对于遇到此问题的任何人,您还可以通过执行以下操作来指定列:

=INDIRECT("A" & ROW()-1)

如果你在B列中返回值但是要检查A列中的上一行,这会派上用场。

答案 2 :(得分:-3)

最好的方法是:

  1. 转到单元格A2
  2. Ctrl+F3(这是管理 Windows 中命名范围的快捷方式)
  3. 点击Add Name
  4. Name字段中指定名称LPrev
  5. Reference field=!A1
  6. 现在只需使用=LPrev指向同一列中前一行的单元格。

    请注意,每次需要引用公式中的上一个单元格时,都不必定义名称。 LPrev是一个相对名称,因此可以在工作表中的任何位置使用。

    同样的技巧适合任何类型的相对引用,如前一列或另一列。