我希望问题的标题是正确的。 我试着举个例子。 假设我有2个表(" table1"," table2"),它们在结构上是相同的(比如3列" FirstName"," LastName& #34;,"年龄")。
如果我想获取特定表中的数据(table1中某个人的年龄),我知道我可以执行类似vlookup或index(match())的操作。 但是,现在我遇到了棘手的部分,我希望在一个单元格中引用表名,当我拖动公式时,表名将会改变:
Age LastName FirstName
18 Lname1 Fname1
18 Lname2 Fname2
20 Lname3 Fname3
Age LastName FirstName
22 Lname4 Fname1
22 Lname5 Fname2
21 Lname6 Fname3
so, if I want to get the age of Fname2 from Table1 I would do something like this:
= INDEX(表1 [年龄],MATCH(" Fname2",表1 [姓名],0))
,但 我希望表名在另一个单元格中,这样我就可以拖动公式了。例如,将表名称放在单元格C3中,并执行以下操作:
= INDEX(C3 [年龄],MATCH(" Fname2",C3 [姓名],0))
这显然不起作用,但是有办法做到这一点吗?
提前致谢, NIMI
答案 0 :(得分:0)
我假设有几个表具有相同的结构,并且您需要一个通用公式,它将适用于单元格C3
中按名称指定的任何表。
C3[Age]
毫无意义。您希望将C3
的内容与文本字符串"[AGE]"
连接起来 - 这为您提供了一个有意义的文本字符串。INDIRECT
功能。这允许您将一些工作表(如单元格,范围等)指定为文本字符串,但将其视为单元格,范围等本身。C3[Age]
和C3[FirstName]
。您可以从Excel的帮助工具和/或在线搜索中轻松找到上述所有条款和功能。当然,我可以简单地给你一个合适的公式但是你会学到什么?没有痛苦,没有收获。