是否可以使用标准 Excel 公式确定不同工作表中某个范围的开始和结束位置?

是否可以使用标准 Excel 公式确定不同工作表中某个范围的开始和结束位置?

我有一本包含两张工作表的工作簿。

工作表 #1 包含我需要在工作表 #2 中进行计算的一系列值。

范围从 A1 到 A10。

是否可以使用一个公式来识别这些起始值和终止值,而无需我明确地对其进行硬编码?此外,我希望 Excel 在找到范围后为其命名,以便我可以使用该名称作为后续 SUMPRODUCT() 函数的输入参数。

我试图避免使用 VBA,但不确定我所尝试做的事情是否可以通过现成的公式实现。

答案1

通过创建命名范围并使用以下公式,可以很容易地获得具有已知起点的动态范围:

=$A$1:INDEX($A:$A,COUNTA($A:$A))

然而,如果 A1 要改变,它就变成:

=INDIRECT("A"&MATCH(INDEX(Sheet1!$A:$A,MATCH(TRUE,INDEX((Sheet1!$A:$A<>0),0),0)),Sheet1!$A:$A,FALSE)&":A"& COUNTA(Sheet1!$A:$A)+MATCH(INDEX(Sheet1!$A:$A,MATCH(TRUE,INDEX((Sheet1!$A:$A<>0),0),0)),Sheet1!$A:$A,FALSE)-1)

再次作为命名范围。

请注意,仅当 A 列中没有除感兴趣的数据之外的其他数据时,这才会起作用。

相关内容