我正在尝试做一件简单的事情:我只需要将一些单元格设置为前一行的值。
我尝试了=A(Row()-1)
,但它不起作用。
答案 0 :(得分:69)
要在Excel中解决此问题,通常我只需键入上面单元格的文字行号,例如,如果我输入单元格A7
,我会使用公式=A6
。然后,如果我将该公式复制到其他单元格,它们也会使用前一个单元格的行。
另一种选择是使用Indirect()
,它将里面的文字语句解析为公式。你可以使用类似的东西:
=INDIRECT("A" & ROW() - 1)
上面的公式将解析为A
列中单元格的值,以及比包含公式的单元格小1的行。
答案 1 :(得分:18)
此公式不需要行字母引用(" A"," B"等)。它在同一列中返回上一行的单元格值。
=INDIRECT(ADDRESS(ROW()-1,COLUMN()))
答案 2 :(得分:1)
我跟着BEN,感谢和Lot得到答案,所以我用他的想法来得到我的解决方案,我发布的相同,因此如果其他人有类似的要求,那么你也可以使用我的解决方案,我的要求就像我想得到从第一行到最后一行的整个数据的总和,我正在以编程方式生成电子表格所以不要也不能硬编码行名称,因为数据总是动态的行数永远不会是常数。 我的公式如下所示。
=SUM(B1:INDIRECT("B"&ROW()-4))
答案 3 :(得分:0)
对我来说更简单的方法是切换到R1C1
表示法,然后使用R[-1]C1
并在完成后切换回来。
答案 4 :(得分:0)
如果您在命名表中,也可以使用=OFFSET([@column];-1;0)
。