Excel 有了VLOOKUP,COL_INDEX_NUM还有其他选项吗?
当前代码:Excel 有了VLOOKUP,COL_INDEX_NUM还有其他选项吗?,excel,excel-formula,vlookup,Excel,Excel Formula,Vlookup,当前代码: VLOOKUP("*"& SPID &"*",Carriers,6,FALSE) 我目前在一个动态电子表格上有26个编号的COL_INDEX_NUMs,正在进行一些更新。如果我需要在列之间添加更多的列,我目前必须对所有的VLOOKUP公式重新编号以匹配 在我的主工作表中,我可以轻松地构建它,第一个数据单元是col_index_num 2,一直到26。当我需要在中间添加另一个单元格时,我必须单独重新调整所有这些公式并进行审核,以确保它们都匹配 是否有一种方法可以使其动
VLOOKUP("*"& SPID &"*",Carriers,6,FALSE)
我目前在一个动态电子表格上有26个编号的COL_INDEX_NUMs,正在进行一些更新。如果我需要在列之间添加更多的列,我目前必须对所有的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正在做我想让它做的事情,但是修改了一个动态的新文档,导致了超出必要的工作。通过使用索引公式作为我在下面选择的答案,这允许公式在列移动时跟踪列,而无需我停止和调整
Carriers=名为data的工作表上的所有数据减去标题。数据!1:1=我的标题在同一张纸上。
SPID=调用信息的4位字母数字 我通过移动一列并添加另一列来进行测试。它保存着这些信息。为了测试以确保这不是一个侥幸,我创建了另一张表来查看差异。旧表出错,而新表显示的信息正确
我希望这对别人有帮助 使用索引公式而不是VLOOKUP 例如,
=索引(载体,匹配(“*”&SPID&“*”,$A:$A,0),匹配(“MyColumnHeader”,1:1,0))
- 第一个参数是引用表-如果需要,可以插入额外的列
- 第二个参数是您正在搜索SPID编号的列(不必是第一列)——这将返回行号李>
- 第三个参数是您正在搜索的列标题-这将返回列编号
作为更新,上面的公式引用了工作表的A列和第1行,而不是范围。
=索引(载体,匹配(“*SPID*”,索引(载体,0,1),0),匹配(“MyColumnHeader”,索引(载体,1,0),0))
该公式引用了使用
索引(Carriers,0,1)
的运营商第1列和使用索引(Carriers,1,0)
的运营商第1行,使用索引公式代替VLOOKUP
例如,=索引(载体,匹配(“*”&SPID&“*”,$A:$A,0),匹配(“MyColumnHeader”,1:1,0))
- 第一个参数是引用表-如果需要,可以插入额外的列
- 第二个参数是您正在搜索SPID编号的列(不必是第一列)——这将返回行号李>
- 第三个参数是您正在搜索的列标题-这将返回列编号
作为更新,上面的公式引用了工作表的A列和第1行,而不是范围。
=索引(载体,匹配(“*SPID*”,索引(载体,0,1),0),匹配(“MyColumnHeader”,索引(载体,1,0),0))
这个公式引用了使用
索引(Carriers,0,1)
的Carriers第1列和使用索引(Carriers,1,0)
的第1行。您可以使用匹配公式来查找正确的列索引:而不是6
,您可以放置类似匹配(“ColumnTitle”,1:1,0)
。其中“ColumnTitle”是第1行中的标签。另一个注意事项:如果您的搜索范围不是从A列开始,则整行引用需要更改为从与搜索范围相同的列开始;$B$1:$AZ$1
而不是在Vlookup公式中硬编码6
,请使用单元格引用。创建另一个工作表(隐藏,如果需要的话)上的列映射。然后,您应该能够更新“映射”“仅限工作表,所有公式都将引用该工作表上的值,只要这些值发生更改,公式的结果就会更改。您可以使用匹配公式来查找正确的列索引:而不是6
,您可以放置类似match(“ColumnTitle”,1:1,0)
,其中“ColumnTitle是第1行中的标签。另一个注意事项:如果您的搜索范围不是从A列开始,则整行引用将需要更改为从与搜索范围相同的列开始;$B$1:$AZ$1
而不是在Vlookup公式中硬编码6
,请使用单元格引用。创建另一个工作表。”(隐藏,如果需要的话)上的列映射。然后,您应该能够更新“映射”只有工作表,所有公式都会引用该工作表上的值,只要它们发生变化,公式的结果就会发生变化。感谢@Darren Bartrup Cook!乍看之下,我认为这太复杂了,无法理解,但使用Excel的内置工具来解释每个字段,我意识到这并没有那么复杂。我花了一段时间才意识到这一点我对索引方式很有信心。虽然非常通用,但值得付出努力。感谢@Darren Bartrup Cook!乍看之下,我认为这太复杂了,无法理解,但使用Excel内置的工具来解释每个字段,我意识到它没有那么复杂。我花了一段时间才对索引方式doi有信心很好,但是很通用,所以值得努力。