【问题标题】:VLookup sometimes but not always updates column numbers when a column is addedVLookup 有时但并不总是在添加列时更新列号
【发布时间】:2016-07-27 14:43:55
【问题描述】:

我有一个 100 列宽的 Excel 2016 电子表格。这些列充满了 VLookup 函数来操作单元格值并将它们显示在工作表上以供操作员使用。过去,我在 100 列中添加了列,并且 VLookup 函数“调整”——即在我添加列时自动增加一。今天我尝试做同样的事情,在我的 100 中添加一列,并且 VLookups 都返回一列的值 - 即公式没有增加。

这可能是 Excel 2016 的更改,因为这是我下载新版本后第一次进行此类更改。

这是我工作表上一个更简单公式的示例。其他单元格在 VLookups 中具有 VLookups,以及复杂的多级嵌套 IF 语句,因此使用新行号更新所有单元将很费力。

=IF(BE2="yes",(IFERROR(VLOOKUP(N2,'Casket, Carrier & Perfect Pack'!$A$2:$N$16,13,FALSE),VLOOKUP(N2,'End-Board Packaging'!$A$2:$P$9,10,FALSE))),"not at cell")

我考虑在新行中添加行号,并在我的 vlookup 中引用这些行号,这需要一次性更新所有公式。但是,在我这样做之前,我想我会询问是否有其他解决方案。

由于操作员工作站禁用了宏,因此无法使用 VBA 进行这项工作。

【问题讨论】:

    标签: excel vlookup


    【解决方案1】:

    我一定错过了 Excel 在 vlookup 的列参数中更新硬编码数字的版本/技巧。我从来不知道有这种能力。

    无论如何,由于 excel 将更新任何受插入/删除行/列影响的引用,因此执行此操作的方法如下:

    =IF(BE2="yes",(IFERROR(VLOOKUP(N2,'Casket, Carrier & Perfect Pack'!$A$2:$N$16,COLUMN('Casket, Carrier & Perfect Pack'!M2),FALSE),VLOOKUP(N2,'End-Board Packaging'!$A$2:$P$9,COLUMN('End-Board Packaging'!J2),FALSE))),"not at cell")
    

    这样,column 参数将跟随/列在查找表中为该列选择的标题单元格。

    【讨论】:

    • @pnuts,我不知道 OP 是否可以复制它,但我不能。你可以吗?? :-)
    • 哦,我明白了 - OP 提到了 Excel 2016。好吧,我们中的一些人陷入了 Excel 2010 - 2013 的黑暗时代:-D
    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多