tbo*_*one 4 excel worksheet-function
所以我试图从数据表中进行经典的2路查找,即:
Jan-00 Feb-00 Mar-00
Joe
Bill
Steve
Run Code Online (Sandbox Code Playgroud)
所以,我想在"Mar-00"中查找"Joe"的值.
这种类型的查找通常使用INDEX和MATCH函数的组合来完成.这种方法的缺点是MATCH只能作用于1维范围,因此在包含大量表格的大型电子表格中,您最终必须为每个表定义3个范围而不是一个(一个用于数据,一个用于标题行,左列一个).
我希望能够做到这样的事情:
index(data1,match("Mar-00",getrow(mydata,1)),match("Joe",getcolumn(mydata,1)))
Run Code Online (Sandbox Code Playgroud)
excel中有这样的东西(或者,这样做的方式完全不同,也许是excel中的一些新功能)?
jto*_*lle 11
这是VLOOKUP(或相关HLOOKUP)的经典用法:
=VLOOKUP("Joe", mydata, 4, FALSE)
Run Code Online (Sandbox Code Playgroud)
您还可以INDEX通过将零作为参数之一传递来从范围(或2-D数组)中获取整行或列:
=VLOOKUP("Joe", mydata, MATCH("Mar-00", INDEX(mydata, 1, 0), 0), FALSE)
Run Code Online (Sandbox Code Playgroud)
这假设你的"mydata"是整个表,包括行和列标题.
(当然你也可以做你上面所做的,替换getrow和getcolumn调用INDEX.)
小智 5
使用offset公式.对于某些命名范围myrange,第一行是:
offset(myrange,0,0,1)
Run Code Online (Sandbox Code Playgroud)
同样,第一列是:
offset(myrange,0,0,,1)
Run Code Online (Sandbox Code Playgroud)