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的值,而不是对其他已打开的工作簿,工作表或范围进行硬编码。
现在,如果您要将该值与另一本书中的其他单元格进行比较,请将A3
replace为实际值,或将A3
从A1
更改为其他单元格
=INDIRECT()
函数有一个缺点。 它不适用于封闭的工作簿。
您可以使用命名范围来引用不同的工作簿。
只需添加一个命名的范围,并input:
=[WorkbookName]Sheetname!Range
例如
=[Book1]Sheet1!$A$1:$A$10
然后,您可以在使用范围的公式中使用它,以引用个别值可能会更棘手,您需要使用查找/索引。