如何获取 excel 文件中的行数并将其用于同一 sheet 中的另一个公式?

How to get the number of rows in an excel file and use it in another formula in the same sheet?

有一个 Web 应用程序根据过滤器用户 select 将输出生成到 excel 文件中。因此,输出文件中的行数可能不同。我可以编辑 excel 模板但应用程序代码。

excel 文件有两个不同的选项卡,在第二个选项卡中,我需要使用 VLOOKUP 从第一个选项卡中检索一些值。生成文件后,我使用下面的函数检索这些值,它工作正常:

IFERROR(VLOOKUP(B3,'Budget Analysis - P1'!$B:$G0,3,FALSE),"")

我想在excel模板中添加这个功能,问题是我不知道会有多少行,所以我不能直接使用类似500的东西。当我添加在模板中的功能如下所示,有效。

IFERROR(VLOOKUP(B3,'Budget Analysis - P1'!$B:$G00000,3,FALSE),"")

不过,我对在数据范围内使用G1000000并不满意,寻求更专业和优雅的解决方案。我可以使用以下公式找到 excel 中的行数:

=MIN(ROW(data))+ROWS(data)-1

我需要的是这样的东西:

=IFERROR(VLOOKUP(B3,'Budget Analysis - P1'!$B:$G${=MIN(ROW(data))+ROWS(data)-1},3,FALSE),"")

我找不到正确的语法或逻辑。如果您能提供帮助,我将不胜感激。

此致,

VLOOKUP 已优化,可以使用完整的列引用:

IFERROR(VLOOKUP(B3,'Budget Analysis - P1'!$B:$G,3,FALSE),"")  

但是如果那是不可接受的并且你出于某种原因想要限制它,我们可以替换:

'Budget Analysis - P1'!$B:$G0

'Budget Analysis - P1'!$B:INDEX('Budget Analysis - P1'!$G:$G,MIN(ROW(data))+ROWS(data)-1)

所以:

IFERROR(VLOOKUP(B3,'Budget Analysis - P1'!$B:INDEX('Budget Analysis - P1'!$G:$G,MIN(ROW(data))+ROWS(data)-1),3,FALSE),"")

如您所见,这变得非常难读,很可能不会在计算中节省任何时间。