在 Excel 中对多个电子表格运行同一套公式

在 Excel 中对多个电子表格运行同一套公式

我是 Excel 的初级到中级用户,最近我被要求创建一个大型电子表格。我已经创建了它,并且它可以工作,但是它的文件大小非常大(66mb)。以下是电子表格需要执行的操作。

用户输入日期或从下拉列表(数据验证列表)中选择的列有多个。有一组公式可以计算单元格是否符合条件

例如:=IF(C3='referred',1,0)

对于需要计算的每一列,此公式重复一次。

然后我有一个公式,查看 A 列中的日期,查看前面所述公式的单元格,如果两者都满足值,那么它会给出值 1。

示例 2:此示例中的 P2 是从工作簿中不同电子表格更新的日期。=IF(And(A1=P2,B1=1),1,0) 我也使用与此类似的公式 =IF(And(A1=Sum(P2+1),B1=1),1,0)

此公式的值在工作簿的主电子表格中更新。因此,我将示例 2 重复了 7 次,每周每天一次...针对行的 7 列中的每一列,针对数百行,并在大约 12-15 个选项卡上重复此操作。

因此,虽然这可行,但工作簿却变得非常大...所以问题是,有没有办法在一个电子表格上只设置一次公式,计算信息,然后更新指定电子表格的日期行的封面?

我希望这很清楚,这是一个复杂的设置,我希望找到答案。我使用的是 Excel 2003

答案1

我理解的是否正确,您希望一张工作表上的同一组公式根据某些条件(例如特定数据)可变地引用其他工作表(包括其他工作簿上的值)上的值。使用 INDIRECT 函数肯定可以做到这一点。

例如,

A1 = “WorkbookA.xlsx” '这些值可以通过从下拉菜单中选择结果来实现动态变化。这是可行的,但 A2 = “Sheet1” '在实践中可能过于复杂。

A3 = =IF(INDIRECT(“[”&A1&“]!”&A2&“F14”)=TRUE,1,)

如果您希望同一组公式实际生成一组结果,其中一行来自一个工作表,另一行来自另一个工作表,那么我看到的唯一非 VBA 可能性是使用双向数据表(通常用于“假设”分析),其中输入可以是不同的工作表名称或日期或其他内容,计算出的金额将再次使用 INDIRECT 函数。 问题是,您最终可能需要为每个输出公式准备一个单独的数据表。 也可能需要很长的计算时间。

相关内容