VLookup有时候并不总是在添加列时更新列号

我有一个100列宽的Excel 2016电子表格。 这些列填充VLookup函数来操作单元格值并将其显示在操作员的工作表上。 在过去,我已经在我的100中添加了列,并且VLookup函数“调整” – 也就是在添加列时自动增加1。 今天我试图做同样的事情,在我的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") 

我考虑在新行中添加行号,并引用vlookups中的行号,这将需要一次性更新所有公式。 然而,在我这样做之前,我想我会问是否有另一个决议。

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

我必须错过那个版本/把戏,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") 

这样,列参数将在查找表中列的后面/列中select标题单元格。