Excel如何通过标题直接显示栏目?
目前我在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”);( “!$ B:$ B” A9&) “内部” 的,间接的)+(SUMIF(INDIRECT(A9& “$ F:$ F!”), “已完成”; INDIRECT(A9& “$ AP:$ AP!”))))
A9是公式必须使用的Excel表的名称。 因此,例如在A3中有“20140612”,所以它必须使用名称为“20140612”的Excel表格。 此外,它总结了一些价值取决于一些条件。
我的问题是:我希望把他们的头条列在其他表中,而不是他们的位置。 因此,例如,le列AP并不总是必须位于AP位置,而是总是标题“Points”。
你能想到一个可以通过标题指引栏目的公式的适应吗? 我虽然是MATCH公式 但我不确定我必须把这个放在哪里。
我认为最简单的答案就是在你的工作表中使用命名的范围 。 通过这种方式,您可以将范围(当前在AP栏中)命名为“点数”,将公式更改为使用“点数”而不是“$ AP:$ AP”,如果移动点数据,公式将保持不变。
如果您打算不断更改标题行值,则可以使用HLOOKUP将标题列与MATCH&INDEX结合起来。
要回答你关于MATCH()
的用法的问题,值得把它看作是VLOOKUP()
或者HLOOKUP()
一半,也就是说,它是find包含你正在search的值的行或列的位,那么你可以使用INDEX()
从您指定的范围获取该行/列。
所以,如果你知道你的列标题之一是"Points"
,那么你可以通过使用:
=MATCH("Points", A1:Z1, FALSE)
例如,如果"Points"
是J列的标题,则返回10。 如果您想使用该列进行查找,则可以使用OFFSET()
将该列定义为用于查找的范围,因此,假设我想在“点”列中find文本"foo"
我可以使用:
=MATCH("foo", OFFSET(A1:Z1000, 0, MATCH("Points", A1:Z1, FALSE) - 1, 1000, 1), false)
…使用我之前find的列索引作为OFFSET()
的input,以便dynamic引用J1:J1000
,然后在该列中search"foo"
。
在你的例子中,而不是A1:Z1000
你可以使用一个调用INDIRECT()
来返回源表中的整个感兴趣的范围。