2014-10-03 39 views
26

Google电子表格可能是否可以达到上面单元格的值?从上面的单元格获取价值

含义:在一个单元格中A2我想显示上面单元格的值,即A1。不是因为它是坐标,而是因为它是上面的单元格。我通过简单的设置值等于上述细胞做到这一点:

enter image description here

如果我在这两个之间创建一个新的行,我得到这个:

enter image description here

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

enter image description here

术语相对当然wrong in the case,但我希望你明白我的意思。 I 想要通常的相对行为(所以我可以移动单元格本身,其参考将适合新的颜色和行)以及行为,该参考不指向特定的固定坐标,而是细胞本身的特定路径。

回答

55

你可以这样解决这个问题:

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

COLUMN()返回一个数字参考当前列

ROW()返回一个数字参考当前行。

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

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

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

谷歌电子表格为您提供了帮助提示,当您输入,这样你输入上面的公式,你应该得到每个功能的完整说明。

+0

谢谢你提供了一个很好解释的答案。它完美的作品。 – Steeven 2014-10-03 12:45:06

+1

任何人都知道如何获得所有以前的细胞? – 2017-01-13 07:26:06

+0

这个答案改变了我的生活。谢谢。 – 2017-06-30 06:23:18

7

对于任何人谁碰到这个问题绊倒,你也可以指定列通过做这样的事情:

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

如果您返回列B中的值,但检查列A中的前一行,这将派上用场。

-2

做到这一点,最好的办法是:

  1. 转到单元格A2
  2. 按Ctrl + F3
  3. 点击添加名称
  4. 在名称选择像 “LPrev” 的名称(不双引号)
  5. 在参考文献按 “=!A1”(不含双引号)

现在只需使用“= LPrev”来指向前一行的同一列中的单元格。

相同的技巧适合任何种类的相对参考。