有了VLOOKUP,COL_INDEX_NUM还有其他的select吗?

目前的代码:

VLOOKUP("*"& SPID &"*",Carriers,6,FALSE) 

我目前有26个编号的COL_INDEX_NUM在dynamic电子表格上进行了一些更新。 如果我需要在列之间添加更多的列,我现在必须重新编号所有我的VLOOKUP公式来匹配。

在我的主表中,第一个数据单元是col_index_num 2,一直到26,所以我很容易构build它。当我需要在其中添加另一个单元格时,我必须单独重新调整所有这些公式,并进行审计以确保它们全部匹配。

有没有一种方法可以是dynamic的,或者这只是一个需要更好规划的function?

我在网上发现的唯一的东西是提到VBA编码的网站,我将无法合并。

非常感谢!

编辑:我没有包括代码,但真的是更多的关于一般VLOOKUP的问题。 我张贴,以确保每个人都明白我的问题有关6位于哪里。

parsing度:

 =INDEX(Carriers,MATCH(SPID,INDEX(Carriers,0,1),0),MATCH(A3,INDEX(Data!1:1,1,0),0)) 

这个公式简化了我正在做的事情。 VLOOKUP正在做我想做的事情,但在一个dynamic的和新的文件上修改,导致了更多的工作,而不是必要的。 通过使用INDEX公式作为我在下面select的答案,这允许公式跟踪列移动时不需要停止和调整的列。

承运人=名为数据的表中的所有数据减去标题。
数据!1:1 =我的标题在同一张纸上。
SPID =一个4位字母数字来调用信息。

我通过移动一列并添加另一个来testing。 它保存了这些信息。 为了testing以确保它不是一个侥幸,我创造了另一张表来看看不同之处。 当新的表单显示正确的信息时,旧的表单发生错误。

我希望这可以帮助别人!

使用INDEX公式而不是VLOOKUP。

Eg =INDEX(Carriers,MATCH("*" & SPID & "*",$A:$A,0),MATCH("MyColumnHeader",1:1,0))

  • 第一个参数是你的参考表 – 你可以插入额外的列,如果你想,
  • 第二个参数是您正在search您的SPID号码的列(这不一定是第一列) – 这将返回行号。
  • 第三个参数是你正在search的列标题 – 这将返回列号。

一个很好的参考网站是: http : //www.contextures.com/xlFunctions03.html

编辑:
作为更新,上面的公式参考工作表的列A和行1,而不是运营商范围。 =INDEX(Carriers,MATCH("*SPID*",INDEX(Carriers,0,1),0),MATCH("MyColumnHeader",INDEX(Carriers,1,0),0))
该公式参考使用INDEX(Carriers,0,1)列1和使用INDEX(Carriers,1,0)行1 INDEX(Carriers,1,0)