对于采用范围的Excel公式变量,请使用公式的结果输入行号

时间:2013-07-19 20:19:52

标签: excel dynamic reference formula

我正在尝试填写此= SERIES函数以填充Excel 2007中的折线图。

=SERIES($BB$1,$BB$2:$BB$16,$BC$2:$BC$16,1)

现在范围$ BB $ 2:$ BB $ 16以及随后的范围是为了说明而设置的。但是,我的情节需要每次动态找到一个新的范围,因为我的函数返回的数据点数每次都不同。

我可以用a = COUNTA(BB2:BB1000)获得数据点的数量,然后我可以将这个数字(加上1以使右边的参考)放到这种情况下16的位置。我如何将以下字符串作为范围引用?

  

=“$ BB $ 2:$ BB $”& COUNTA(BB2:BB1000)

取代

= SERIES([电池],[范围],[范围] ...)

如果我只输入此Excel将不会接受它。我尝试了INDIRECT,但它返回了一个单元格的值,不能用作范围

2 个答案:

答案 0 :(得分:0)

尝试使用INDIRECT功能:)

假设您有三个可以动态计算输入范围地址的单元格。 像你建议的那样,它在单元格A1

="$BB$2:$BB$" & COUNTA(BB2:BB1000) ---> in cell A1

你可以像这样使用间接功能:

=SERIES(INDIRECT(A1),[RANGE],[RANGE])

希望这有帮助!

答案 1 :(得分:0)

可以使用INDEX指定范围

$BB$2:INDEX($BB:$BB,COUNTA($BB:$BB)+1)

虽然也可以使用OFFSETINDIRECT,但它们都是动态的,所以使用INDEX会更好,因为它不是动力。

完整性:
使用OFFSET

OFFSET($BB$2,0,0,COUNTA($BB:$BB))

使用INDIRECT

$BB$2:INDIRECT("BB"&COUNTA($BB:$BB)+1)

虽然这些都适用于“普通”单元格公式,但似乎它们不能直接用于图表SERIES公式。但是,仍然可以通过创建工作表作用域范围命名范围,并在SERIES公式中使用 来使用它们。