我如何指定一个可变的Excel范围?

我希望能够根据行/列variables在Excel中dynamic指定范围。

比方说,我有一个文件的内容看起来有点像这样:

    ABCDE
 1 10 11 12 13 14
 2 51 52 53 54 55

如果我想总结第1行,第2-4列(即11 + 12 + 13)的项目,我将如何指定?

如果我是用手工做的话,我会input:

=SUM(B1:D1) 

…但是我怎么编程式地生成范围定义,只知道想要的行(1)和列号(2-4)?

 =SUM(????) 

在此先感谢您的帮助!

(我正在使用Microsoft Excel 2011 for Mac,所以Excel VBA /基于macros的解决scheme将不适用于我。)

我有同样的需要 – 看起来像OFFSET函数会让你这样做。

所以对于上述:

 =SUM(OFFSET(A1,0,1,1,3)) 

打破它:

 OFFSET(reference cell, row offset from ref cell to start the range, col offset to start the range, height of range you want, width of range you want) 

你可以使偏移量为零,如果你愿意,或者+减less, -补足

不知道你想要什么。
你的意思是?

 dim parent_range as range dim child_range as range set parent_range = me.range("a1:e2") set child_range = range(parent_range.rows(1).cells(2), parent_range.rows(1).cells(4)) msgbox "=sum(" & child_range.address(false, false, xla1) & ")" 

还是你想要它作为一个公式?

 =SUM(INDEX($A$1:$E$2,1,2):INDEX($A$1:$E$2,1,4)) 

这取决于如何引用“已知”行和列号
例如,如果它们是工作表上的单元格中的值:

  AB 9 Row 1 10 ColStart 1 11 ColEnd 4 

使用INDRECT函数来构build范围参考

 =SUM(INDIRECT("R"&B9&"C"&B10&":R"&B9&"C"&B11,FALSE))