Excel:在比较不同的Excel工作簿中的数据时避免使用复杂的公式

当我编写一个公式来比较不同工作簿中的数据时,公式看起来非常混乱,因为每次我在其他工作簿中引用一个值时,工作簿的全名将出现在公式中。 有没有办法给工作簿名称分配一个别名,这样公式更具可读性?

最简单的方法是将path存储到工作簿中( 单独的单元格

在book1中使用variables(单元格中的文本)types:

 A1 = book2 A2 = Sheet1 A3 = A1 

现在转到book1中的任何空单元格并键入公式

 =INDIRECT("'["&A1&"]"&A2&"'!"&A3) 

Indirect()从单元格中提取值,并将其replace为一个string,最后等于=[Book2.xlsm]Sheet1!A1

因此,您可以使用您在book1中任何其他单元格中input的值,而不是对其他已打开的工作簿,工作表或范围进行硬编码。

现在,如果您要将该值与另一本书中的其他单元格进行比较,请将A3replace为实际值,或将A3A1更改为其他单元格

=INDIRECT()函数有一个缺点。 它不适用于封闭的工作簿。

您可以使用命名范围来引用不同的工作簿。

只需添加一个命名的范围,并input:

 =[WorkbookName]Sheetname!Range 

例如

 =[Book1]Sheet1!$A$1:$A$10 

然后,您可以在使用范围的公式中使用它,以引用个别值可能会更棘手,您需要使用查找/索引。