Excel如何按标题引导列?

时间:2014-09-30 08:58:38

标签: excel match formula

目前我的excel表格中有一个庞大的公式:

  

= SUM(SUMIF(INDIRECT(A9&安培; “$ F:$ F”), “工作”; INDIRECT(A9&安培; “$ B:$ B”!))+ SUMIF(INDIRECT(A9&安培;“$ F:$ F “);” 开放 “; INDIRECT(A9&安培;” $ B:$ B “))+ SUMIF(INDIRECT(A9&安培;” $ F:$ F “);” 内部”,INDIRECT(A9&安培; ))+(SUMIF(INDIRECT(A9&安培; “$ F!:$ F”): “$ B $ B!”, “完成”; INDIRECT(A9&安培; “$ AP:$ AP”))))

在A9中是公式必须使用的Excel工作表的名称。因此,例如在A3中有'20140612',因此它必须使用名为'20140612'的Excel工作表。此外,它根据某些条件总结了一些值。

我的问题是:我想通过标题引导其他工作表中的列,而不是它们在工作表中的位置。因此,例如,le列AP并不总是必须位于AP位置,但总是标题为“Points”。

你能想到一个可以通过标题引导专栏的公式的改编吗? 我虽然是MATCH公式。但我不确定我要把它放在哪里。

2 个答案:

答案 0 :(得分:0)

我认为最简单的答案是在工作表中使用named ranges。通过这种方式,您可以将范围(当前在列AP中)命名为“点数”,将公式更改为使用“点数”而不是“$ AP:$ AP”&如果你移动你的点数据公式将保持不变。

如果您打算不断更改标题行值,则可以使用HLOOKUP来匹配标题列,可能与MATCH & INDEX一起使用。

答案 1 :(得分:0)

要回答有关MATCH()用法的问题,值得将其视为VLOOKUP()HLOOKUP()的一半,即它的位数找到包含您要搜索的值的行或列,然后您可以使用INDEX()从您指定的范围中获取该行/列。

因此,如果您知道其中一个列标题为"Points",那么您可以使用以下命令找到它:

=MATCH("Points", A1:Z1, FALSE)

...如果"Points"是列J的标题,则会返回10。如果您想使用该列进行查找,可以使用OFFSET()将该列定义为用于查找的范围,因此我们要说我想查找文本{{1}在"点"专栏,我可以使用:

"foo"

...使用我之前找到的列索引作为=MATCH("foo", OFFSET(A1:Z1000, 0, MATCH("Points", A1:Z1, FALSE) - 1, 1000, 1), false) 的输入,以便动态引用OFFSET(),然后在该列中搜索J1:J1000

对于问题中的示例,您可以使用"foo"来调用来自源表的整个兴趣范围,而不是A1:Z1000