目前我的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公式。但我不确定我要把它放在哪里。
答案 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
。