在Excel表格中将行号作为变量传递

53

假设我有:

  1. B1中的值为5
  2. 我想将数字(5)作为行变量传递给另一个单元格(例如C1),并与列A一起读取,公式为“= A(B1)”,即“=A5”

我该怎么做?


1
Yashpal,我重写了这个内容,因为它不够清晰,所以t.thielemans很难回答。 - brettdj
2
很抱歉,我不小心回滚了它,而且我不知道如何撤销我的操作。我是新手,所以这是一个错误。你能否重新做一遍或者撤销你的更改? - Yashpal Singla
3个回答

75
假设您的行号在B1中,您可以使用INDIRECT函数:
=INDIRECT("A" & B1)

这个函数需要一个作为字符串的单元格引用(在本例中,是AB1值的串联减去5),并返回该单元格中的值。


4
重要的是,就我的需求而言,你可以按预期使用它:=AVERAGE(A1:INDIRECT("A"&B1))。谢谢! - Dathan

8

我觉得我可能误解了问题,不太确定,但如果是的话,我会优雅地删除我的回答。 - CustomX
这有点棘手 :) 问题更多的是“如果我有一个值单元格B1(假设为5),如何找到单元格A5的值?由于行号可能会改变,INDIRECT允许您使用该单元格中的任何值来指示行。 - RocketDonkey
@RocketDonkey,所以他想让=A5变成=A(B1),而且B1 = 5?顺便问一下,有没有更快的方法使用编码括号,因为我总是需要打开帮助并复制它们。 - CustomX
1
没错 :) 至于编码括号,你可以使用反引号字符(在我的键盘上“1”的左边)进行快速的内联代码高亮,或者使用 Ctrl+K 来格式化答案/问题中的块。 - RocketDonkey

4

另一种方法是使用OFFSET:

假设列值存储在B1中,您可以使用以下方法:

C1 = OFFSET(A1, 0, B1 - 1)

这是通过以下步骤实现的:

a)选取一个基本单元格(A1)
b)将行数加0(保持为A)
c)将列数加上(A5 - 1)

如果您想更改行值,也可以使用其他值代替0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接