这是一个可能的仅功能解决方案。最终结果将如下所示:
我们将使用四 (4) 个主要功能:
- 地址
- 间接
- 匹配
- 剩下
注意:如果您对如何使用这些功能有疑问,请点击链接
公式: 这是在上面的单元格 C4 中
=平均(
间接(
"'"& 3 加元 & "'!" &
LEFT(地址(1,MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0),4,1),1)
& ":" &
LEFT(地址(1,MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0),4,1),1)
)
)
Edit1:要处理下面对超过 26 个标题的评论,请更改此
LEFT(地址(1,MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0),4,1),1)
对此:
SUBSTITUTE(地址(1,MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0),4,1),"1","")
基本上做的是:
Bean
使用MATCH
函数查找标题所在的位置。为此,您必须合并使用,INDIRECT
因为您的工作表名称是动态的(在此示例中,您的工作表名称在 C3 - 中Data1
)。(我假设你所有的标题都在第一行,我1:1
在那里使用)。注意:在本例中,Bean
在 Data1 表的 H 列中
MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0) <~~ returns 8
找到它在哪里之后,我们需要获取整个列地址,以便我们可以应用计数和求和函数(例如SUM,COUNT,AVERAGE
等...)。为此,我们使用ADDRESS
结合的函数LEFT
来获取列字母。
LEFT(ADDRESS(1,MATCH($E$2,INDIRECT("'"&C$3&"'!1:1"),0),4,1),1) <~~ returns H
然后我们只需重复该公式并将其连接起来:
即可得到H:H
现在我们有了列地址,我们只需将其与工作表名称再次连接,并应用最终INDIRECT
函数以及您选择的计数和/或求和函数。
Total in的示例公式C5
:
Max in的示例公式C6
:
最后,您所要做的就是将公式复制到具有工作表名称的所有列中。
只需在最后一个旁边添加工作表名称并复制公式即可。就是这样。我希望这接近你想要的,我希望我使用的所有功能都可以在 Excel 2000 中使用。