当前代码:
VLOOKUP("*"& SPID &"*",Carriers,6,FALSE)
我目前在动态电子表格上有26个编号为COL_INDEX_NUM且正在进行一些更新。如果我需要在列之间添加更多列,我目前必须重新编号我的所有VLOOKUP公式以匹配。
在我的主页上,我很容易构建第一个数据单元格col_index_num 2.一直到26个。当我需要在其间添加另一个单元格时,我必须单独调整所有这些公式并审计到确保它们都匹配。
有没有一种方法可以动态,或者这只是一个需要更好规划的功能?
我在网上找到的唯一一件事是那些提到VBA编码的网站,我无法合并。
非常感谢!
编辑:我确实包含了代码,但实际上这更像是一个关于VLOOKUP的问题。我张贴以确保每个人都理解我的问题与6所在的位置有关。决议:
=INDEX(Carriers,MATCH(SPID,INDEX(Carriers,0,1),0),MATCH(A3,INDEX(Data!1:1,1,0),0))
这个公式简化了我的工作。 VLOOKUP正在做我想要它做的事情,但修改动态和新文档,造成了超出必要的工作量。通过使用INDEX公式作为我在下面选择的答案,这允许公式在它移动时跟踪列,而不需要停止和调整。
Carriers =我在名为Data的工作表上的所有数据减去标题 数据!1:1 =我的标题在同一张纸上 SPID =一个4位数字的数字来调用信息。
我通过移动一个列并添加另一个列来测试。它保留了信息。为了测试以确保它不是侥幸,我创建了另一张表以查看差异。旧表显示错误,而新表显示正确的信息。
我希望这有助于某人!
答案 0 :(得分:2)
使用INDEX公式代替VLOOKUP。
E.g。 =INDEX(Carriers,MATCH("*" & SPID & "*",$A:$A,0),MATCH("MyColumnHeader",1:1,0))
一个好的参考网站是:http://www.contextures.com/xlFunctions03.html
修改强>
作为更新,上面的公式引用工作表的A列和第1行,而不是Carriers范围。
=INDEX(Carriers,MATCH("*SPID*",INDEX(Carriers,0,1),0),MATCH("MyColumnHeader",INDEX(Carriers,1,0),0))
此公式使用INDEX(Carriers,0,1)
使用INDEX(Carriers,1,0)
和第1行使用<xsl:preserve-space elements="clmAttach1Link clmAttach2Link"/>