题
我尽量避免使用Excel太多,但是当我做我喜欢采用结构化的引用,因为他们似乎很清洁写。
如果我创建一个表叫做"table1"与列"1列"和"第2列的"如何将我引用的第一行,在"1列的"采用结构化的基准,在另一个表?我已经尝试了语法 =table1[[#this row],[col1]]
, 和刚刚得到一个错误。有没有语法 =table1[1,1] or =table1[1,[col1]]
?当然,这并不起作用,但是,什么是相当?
这是非常令人讨厌的,因为它似乎喜欢这个应该是简单的。
解决方案
Table1[[#This Row][Column1]]
确实工作,但公式必须在同一行要引用该表的行。
要引用第一行,在其他地方,使用COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian])
还是稍微复杂SUMIFS()
,如果你需要的数值,而不是数量的下降,由studgeek提到的:
SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian])
您当然会需要通过该选择行中的唯一的行标准。因此,例如:
Table1
ID Value Name
1 2 Two
2 4 Four
3 8 Eight
... SUMIF(Table1[Value], Table1[ID], 2)
返回的4(或零,如果ID = 2未找到)的值。如果你的价值不是数字,那么你就不能使用这种方法,效果显着。
然而,akuhn差点撞到了真正的答案,但他没有走很远不够他的解释/例如,IMO。
INDEX(Table1[Name], 2)
返回 “四”
INDEX(Table1, 1, 1)
返回1
其他提示
试
=INDEX(col1,1)
可以偶数地址细胞在2暗淡表,利用
=INDEX(reference,row_num,column_num)
的伎俩,在这种情况下是使用Excel偏功能:
- 访问的第1次排列名Column1在同一表所示:
OFFSET([Column1],0,0,1)
- 访问第2行
OFFSET([Column1],1,0,1)
等等。
当然你可以用这个来访问的另一个表,列的只是前面加上它与表的名称。例如 OFFSET(Table2[Column3],4,0,1)
将访问的第4行列'Column3'的'Table2'
有似乎没有在一个表使用结构引用到特定的行的明确方式。 阿德里安说,你可以使用INDEX。
或者可以使用隐式交叉点来引用相同的行: 如果表1是在5:10行和表2也对5:10行然后使用具有列名的结构将参考隐含相交同一行。
或者可以输入构成参照作为多行阵列式(选择多个单元格,输入公式并使用Ctrl移输入)在不同的行和它的工作。
而不是指数,我建议SUMIF.它会让你使用表的价值观,而不是明示的行数(这可以打破的,如果你启动筛选或订购).例如(从下面的链接),这笔金额列的,并仅仅包括那些行中的类型等于检查并在帐户等工具:=SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)
参见此链接的详细信息: http://office.microsoft.com/en-us/excel-help/using-structured-references-with-excel-tables-HA010155686.aspx
这将是很好如果表可以具有指定作为主键(其可以是数字的或字符串)的柱,然后结构化REF可以包括用于引用一个行由它的主键。
这将是围绕VLOOKUP的语法糖,但表可以知道,如果它是在主键排序,只有在这种情况下,执行高效的查询。看来,VLOOKUP嵌入在它邪恶的认为错行,如果你依赖于有序,尤其是当表有一个方便的方式来行进行排序。