设置Excel模板,以便计算不依赖于特定数量的列/行

问题陈述:

我正在MS Excel中创build一个用于多层复杂计算的模板,这取决于几个input“nx 3”matrix。

每次我有一个不同的“n”,其中“n”在3到900之间时,重新devise15张左右的纸张(每个200〜300行)是非常困难的。

目标:

  • 我想在单元格中input数字“n”,并相应地更改工作簿中的所有其他工作表。
  • 避免VBA尽可能多

我怎样才能达到这些目标?

注意:我愿意回答有关我的问题的任何问题或意见

编辑 “n”表示列数/行数,如果n = 3,所有的计算将是一个3 x 3的matrix。 如果n = 500,所有的计算将是一个500 x 3的matrix。 我希望Excel能够自动执行这些行的扩展/收缩,所以我不必自己去做数百个表

在Excel 2007中将您的数据matrix转换为表格。

这可以通过点击一个matrix,然后在插入选项卡上select 。 此function的键盘快捷键是Ctrl-LCtrl-T 。 多个表可以在同一个工作表上。

一旦您的数据被标记为一个表格,当添加新数据时,该表格将dynamic扩展。

每个表都自动给出一个名称,从Table1开始。 名称可以通过表格工具 – devise选项卡进行更改。

在公式中,每个表都可以用它的名字来引用。

=SUM(Table1) 

表中的每一列标题也可用于公式。

 =SUM(Table1[Column1]) 

在2007年之前的Excel版本中,可以使用“ dynamic命名范围 ”。

这些可以通过Insert – Name – Define菜单创build。

给“ dynamic命名范围 ”一个名称(例如表1),并input一个类似于下面的公式,假定你的matirx从单元格A1开始:

 =OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!A:A)-1,3) 

如果matrix在单元格D10中开始,则公式将如下所示

 =OFFSET(Sheet1!$D$10,1,0,COUNTA(Sheet1!D:D)-1,3) 

该公式不包括matrix中的任何列标题。 它在“nx 3”的基础上select数据。

在公式中,每个“ dynamic命名范围 ”都可以通过它的名字来引用。

 =SUM(Table1) 

您将需要检查工作表的布局,因为dynamic命名范围通过计算出现在第一列数据中的所有项目来计算出行数。
如果您的单元格上方和/或下方有单元格,则它们将包含在计算中,“ dynamic命名范围 ”将包含数据matrix下方的行。

要查看“ dynamic命名的范围 ”或表中包含哪些单元格,请按F5键并input其名称,然后单击确定

创build使用OFFSET和COUNTA制定dynamic范围的定义名称(插入 – 名称 – 定义)。 代替

= SUM(A1:A300)

使用

= SUM(MyRange)

MyRange在哪里

= OFFSET($ A $ 1,0,0,COUNTA($ A:$ A),1)

也可以看看

而不是计算再次A1:A300,您可以计算对A:A,这是整个列。

你可能要记住,当你devise你的布局时,你不需要那个栏目中的其他东西。