Excel公式来定义用户select的工作表中列中最后一个非空单元格

我有一个带有数据的几张表格的Excel文件,我有一个名为summary的“主”表格。 说明一下,在我的工作簿中,我有四张纸:“摘要”,“苹果”,“橙”和“柠檬”。 我组织了汇总表,通过设置B2单元格的值可以从其他工作表中获取数据。 所以,如果B2 =橙色,我有一些来自工作表“橙色”的数据,如果我设置B2 =柠檬,我得到相同的数据从表柠檬。

我无法做的是定义一个公式来获取所选工作表中的最后一个非空单元格。

我在这个论坛中find了这个公式来select列中的最后一个非空公式:

=MAX((A:A<>"")*(ROW(A:A))) 

我想要做的是编辑这个公式,所以如果

 B2 = Orange 

公式变成

 =MAX((Orange!A:A<>"")*(ROW(Orange!A:A))) 

而如果

 B2 = Apple 

公式变成

 =MAX((Apple!A:A<>"")*(ROW(Apple!A:A))) 

我尝试使用INDIRECT编辑公式

 =MAX((INDIRECT("'"&$B$2&"'!A:A")<>"""")*(ROW(INDIRECT("'"&$B$2&"'!A:A")))) 

但是我得到的结果总是1048576(我的excel中最后一个可以使用的行)。

你能帮我么?

如果原始数组公式为:

 =MAX((junk!A:A<>"")*ROW(junk!A:A)) 

而小区B1包含:

 junk 

那么等效的数组公式将是:

 =MAX((INDIRECT(B1&"!"&"A:A")<>"")*(ROW(INDIRECT(B1&"!"&"A:A")))) 

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。