如何根据单元格值动态引用表格?

如何根据单元格值动态引用表格?

我一直在为自己制作 Excel,但似乎做不对。

我的 Excel 需要执行以下操作:“主要的”表格是我的主要命名表;根据前四列的输入,需要从另一列中提取某些数据命名工作表 - 命名表格使用这些相同的列。我通过结合 INDEX 和 MATCH 实现了这一点(希望避免易变的 INDIRECT)。

从中提取数据的工作表数量必须是可变的,但这些工作表的结构(列名)是相同的,因此在表格引用中唯一改变的是表格名称,如下所示: TAB_A[minFz] 或TAB_B[maxFz](如果我手动进行选择,它将出现在公式栏中)。但是,我需要 Excel 仅在命名表中搜索,该表的名称取决于“主”表中的单元格内容 - 引用的加粗部分。单元格将位于表格区域之外,但将其集成到主表中也不是问题。Excel 2007。

有助于理解的图片: 主要表 TAB_A 工作表 TAB_B 工作表

感谢大家的帮助。谢谢转发。干杯,Uros

答案1

嗯……看起来您希望主表上的这些列中的每个单元格只有一个项目,并且所有项目都来自单个支持表,而不是混合。并不是说混合会更难(我的意思是字面意思:不难),但 K8 中的标题表明您没有使用 K 列单元格来改变所查看的表格。

解决这个问题的最简单方法实际上不是INDIRECT(),也不是从马力的角度。(大约在 2003-2004 年之后,计算机已经足够好,可以处理 Excel 中的重负载,并且仍然表现良好。不是您听说过的一些愚蠢的负载,而是真正的重负载。所以INDIRECT()很长一段时间以来都没有出现这样的问题,并且您拥有的任何装有 Excel 2007 的计算机可能都很好。在加载程序和滥用 15 年后,我不会说它的操作系统现在仍然高效,但仍然......)

前进的方法是使用一个简单的IF()。只需测试 $K$9 的内容是什么(注意美元符号,或将其设为命名范围)并让它适当地选择查找公式。

(我不会试图弄清楚您的公式是什么,但会使用一对简单、有代表性的公式。然后您可以根据需要进行替换。)

因此,要在 TAB_ 之间进行选择A[minFz] 和 TAB_[minFz],使用IF()如下方法:

=IF($K$9="TAB_A",TAB_A[minFz],TAB_b[minFz])

'可以嵌套IF(),最多 7 个每组并可以使用一些巧妙的安排来无限增加。例如,将其设置为保持OR()2、4、8、16……2 的幂,这样您就可以像价格合理您可以将无数的IF()嵌套链接在一起。需要额外的步骤来解开它们,您可以根据需要处理任意数量的纸张。还有许多其他技术。

因此,您可以直接通过 获得信息,IF()而且 — 哦 — 易失性函数不会对性能造成影响,因为 Excel 第一次计算这些函数后,它就知道只有当 $K$9 发生变化时才需要重新计算它们。因此,只有当 $K$9 发生变化时才需要重新计算,而且无论你使用哪种方法,情况都是如此,而不是因为任何地方的任何旧变化。

无论如何,你必须理解并接受,如果你想要某样东西动态的当动态方面的关键要素发生变化时,你必须接受重新计算。

关于您需要作为测试中各种可能性的输出的查找公式的说明IF():除了其中的工作表引用之外,它们将是相同的。因此,编写一个,使其工作,然后将其复制进去,并在您将其粘贴为公式中的结果的每个地方更改工作表引用。看起来只需更改一个字母,非常简单。每次您需要结果时,不要从头开始重写它们!

相关内容