如何在excel中动态选择单元格区域?

如何在excel中动态选择单元格区域?,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我想选择在测试开始之后开始,在测试停止之前结束的单元格范围。在显示的示例中,要选择的范围为A4:A6, 我已经手动选择了范围,发现总数应该是6 数据将保留在同一列中,并始终以测试开始开始,以测试停止结束,但可以从任何一行开始 如果有帮助的话,我每张表只有一个数据集 我希望使用Excel公式而不是vba来实现这一点 没有 在Excel中选择范围是一项操作。公式返回结果。不能通过公式执行操作。=MATCH(“测试停止”a:a;0)-MATCH(“测试开始”a:a;0)+1 您可以通过向结果中添加整数

我想选择在测试开始之后开始,在测试停止之前结束的单元格范围。在显示的示例中,要选择的范围为A4:A6, 我已经手动选择了范围,发现总数应该是6

数据将保留在同一列中,并始终以测试开始开始,以测试停止结束,但可以从任何一行开始

如果有帮助的话,我每张表只有一个数据集

我希望使用Excel公式而不是vba来实现这一点

没有

在Excel中选择范围是一项操作。公式返回结果。不能通过公式执行操作。

=MATCH(“测试停止”a:a;0)-MATCH(“测试开始”a:a;0)+1

您可以通过向结果中添加整数/减去整数来操作结果

该公式仅适用于一列

干杯。

是的,这是可能的

使用以下公式:

= SUM(INDEX(A:A,MATCH("Test_start",A:A)+1):INDEX(A:A,MATCH("Test_stop",A:A)-1))
参见下面的工作示例


好的,excel是否提供任何内置工具来执行此类任务。@EdmundCarvalho-vba@Vityata仅供参考,这是可能的。查看我的答案。@ImaginaryHuman072889-您需要选择它。你的回答只是简单的计算。但是所选单元格不移动。@Vityata我猜技术上是的,“所选”单元格是整个
A
列,但是
索引的使用有效地根据起点和终点动态改变了总和范围。如果
test_xxx
是一个命名范围,只需按ctrl+G
并键入
test\u start:test\u stop
我不懂,您是否建议我这样做=SUM((匹配(“开始”,A:A,0)+1):(匹配(“开始”,A:A,0)-1))这不起作用!!您的路径是正确的:)=SUM(间接地址(匹配(“测试开始”A:A;0)+1;1;4)和:“&ADDRESS(匹配(“测试停止”A:A;0)-1;1;4)),只需调整起点和终点。再一次:只在一列中工作。@不建议使用
间接
的Pascal,因为它是不稳定的<应始终首选代码>索引
。请参阅我的答案,以了解带有
索引的备选方案。此外,您对公式所做的编辑应该反映在原始答案中,而不是评论中。@ImaginaryHuman072889谢谢您提供的信息。我不知道<代码>间接
。每次我用它的时候,它都为我工作。虽然你的答案更为简洁明了@Pascal使用
间接
有时是不可避免的,但通常可以使用
索引
<代码>间接
对于小型电子表格来说并不会真正导致问题,但是对于非常大的电子表格,诸如
间接
之类的易失性函数将大大降低计算速度。这就是为什么除非绝对必要,否则通常应该避免使用它们。我尝试了与您提供的完全相同的公式,它返回数据集中的最后一个值,而不是总和,我将在其他时间重新创建您的方法:)。@EdmundCarvalho不确定该告诉您什么。这就是为什么我发布了一个屏幕截图来演示它的工作原理。