设置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-L或Ctrl-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你的布局时,你不需要那个栏目中的其他东西。