Excel查找function来查找结构化的表和列

我有一堆表的工作表。 表格是结构化的,但标题(TABLE1,TABLE2)不是实际表格的一部分。 我试图做一个函数,find哪个表对应的标题,然后在COLUMN3查找返回值SEVEN 。 这是他们的样子。 我正在试图使这个函数足够灵活,所以如果我将值更改为TABLE2,它将返回GG

TABLE1 +---------+---------+---------+----------+ | column1 | column2 | COLUMN3 | column4 | +---------+---------+---------+----------+ | row1 | xxx | xxx | xxx | | row2 | xxx | SEVEN | xxx | | row3 | xxx | xxx | xxx | | row4 | xxx | xxx | xxx | +---------+---------+---------+----------+

TABLE2 +---------+---------+---------+----------+ | column1 | column2 | COLUMN3 | column4 | +---------+---------+---------+----------+ | row1 | bb | cc | dd | | row2 | ff | GG | hh | | row3 | zzz | zzz | zzz | | row4 | zzz | zzz | zzz | +---------+---------+---------+----------+

我不确定从哪里开始。 我的VBA知识是不存在的,所以我试图只用一个超级嵌套函数来解决这个问题(尽pipe欢迎提供任何提示/解决scheme)。 有任何想法吗? 提前致谢!

您可以使用表名(如果使用表对象)或范围名称与间接函数。 考虑下面的截图。

这些表格被称为TableBlue和TableYellow,并已使用“插入”>“表格”创build。 结构化引用可用于引用表的元素,例如TableBlue引用蓝表中的所有表行, TableYellow[#Headers]指向黄色表的标题行。

这个文本可以被插入一个Indirect()函数,然后它将指向相应的范围。 E11中的公式将其组件与“间接”一起放置,并将单元格中的文本用于左侧。 看看它被拷贝到什么时候,它看起来在不同的表中,甚至可以从不同的列中返回一个值。

 =VLOOKUP(C11,INDIRECT(B11),MATCH(D11,INDIRECT(B11&"[#Headers]"),0),FALSE) 

这种Indirect()结构可以用在其他公式中,当然不仅仅是一个Vlookup。 这取决于你想达到什么。 但请注意,间接是易变的,可以减慢速度,特别是在大型工作簿中。

在这里输入图像说明