(excel 2013)根据另一张表中的项目数量动态更改公式

时间:2014-08-17 18:59:34

标签: excel dynamic formula

我有一个特定的问题需要解决。我不知道怎么做但是想要在没有宏的情况下这样做,或者没有VB脚本就更糟糕。

我将解释我的所有内容以及我想做的事情。 我在工作表中有(计划有)许多工作表。第一张是一些介绍表,其中我还有一列包含每个单元格中的表单名称。我正在使用公式" = MID(CELL("文件名",A1),查找("]",CELL("文件名",A1) )1256)"所以我可以更改工作表的名称,它也会改变介绍单元格中的工作表名称。

所以为了想象我有N列,那里有sheet1,在那张sheet2之下......等等...... 每张纸在同一个地方都有相同的结构和相同的配方,所以每张货都有每张纸。

现在我想拥有什么。我想在介绍表中添加一个公式,我将总结SUM(添加)或类似的东西。它会将每张纸上的每个值都放在每张纸上的相同位置。所以公式看起来像这样:" = sheet1!C4 + sheet2!C4 + sheet3!C4 + .... +'任何表格'!C4"但我不知道我会有多少张纸,这个数字有时会改变,我不想编辑公式,因为我打算有更多这种动态公式。

我将在N列中添加另一张表格,并且使用此excel类型进行循环的每个公式都将使用此动态数组重新计算公式。我希望你明白我想要的。我的问题要复杂得多,但是当我将其描述为detials时,你会忽略我的兴趣。

感谢任何建议

编辑:但如果只有使用VBA脚本的解决方案,我将不得不使用它。我不想每次在工作表中添加另一张表时更改公式

1 个答案:

答案 0 :(得分:1)

您描述的是3D公式。你可以做点什么

=SUM(Sheet1:Sheet4!A1)

Excel会将Sheet1和Sheet4之间的所有工作表中的单元格A1以及这两者之间的任何工作表相加。您可以插入新工作表,而不必将它们命名为SheetX。

为了更有效地管理3D公式,您可以在要包含在公式中的工作表之前和之后使用两个表(如书挡):插入两张名为“First”和“Last”的工作表并确保所有工作表想要总和这两张纸之间的安排。然后在你的介绍表上使用

=SUM(First:Last!A1)

您可以隐藏“第一张”和“最后一张”,只有当您需要检查配方的纸张排列时才取消隐藏它们。

您可以插入新的纸张并确保它们位于书挡纸之间。在书挡之间拖入和拖出工作表以在3D公式中包含或排除它们。