在Excel公式中引用最后一行
在一个公式中,如何引用列的最后一行?
在Sheet1中 ,我有一个公式:
=IF(ISNA(VLOOKUP(A2, Sheet2!A$2:A????, 1, FALSE)), "NO", "YES")
在Sheet2中 ,列A中有数字。但是,我不想硬编码上面的公式中最后一行的行号,因为行数不断变化。
有什么我可以代替“????” ? 我不是在寻找一个VBA /macros的方式来做到这一点。
我将这个公式应用到Sheet1中的几千行。 所以,如果我能把最后一行的数字保存到Sheet2!B1中,然后用B1代替“????”,也是很好的做法。
你可以使用下面的一个:
=IF(ISNA(VLOOKUP(A2, INDIRECT("Sheet2!A$2:A" & MATCH(9E+307,Sheet2!A:A)), 1, FALSE)), "NO", "YES")
但由于INDIRECT
是易失性函数,所以这个解决scheme很慢。
更好的是:
=IF(ISNA(VLOOKUP(A2, Sheet2!A:A, 1, FALSE)), "NO", "YES")
另一个select是使用COUNTIF
– 该函数可以引用整个列,但通常只会查看“使用范围”,所以不应该有任何重大的开销,即
=IF(COUNTIF(Sheet2!A:A,A2),"YES","NO")