通过递增到 Excel 中的特定行来获取值

Getting value by incrementing to a specific row in Excel

所以我在 Excel 中有一长串原始数据,其中我需要一个公式来获取特定行的值并将它们粘贴到另一列中。这就是我希望它发生的方式。

我的 Excel 文件中的数据图片:

我需要的最终结果是这样的:

这个有公式吗?

不完全是您问题的答案,但如果您至少有 1 个数据集用作输入值,则可以 match() 您的数据到 table...有点接近我想你问的。


您可以结合使用 Match()Address()Indirect

我输入红色值(在图像中,"headerB"),我可以使用以下公式输出 D15 中的后续值:

=INDIRECT(ADDRESS(MATCH(C15,A1:A10)+1,1))

我匹配使用 Match() 在 A 列中查找输入值。

然后,我使用它通过在 Address()row 参数中偏移 +1 来获取单元格的地址。在这种情况下,输出将是 $A...我使用 Indirect() 获取该地址的值,因此您将看到 b1.

对于其他子值,您可以将 Address() 的行参数中的偏移量更改为 +2+3.


编辑:

与上述类似,您可以使用一些辅助列并在不需要起始值的情况下获取数据:

=INDEX(A1,0) 'outputs headerA in the image example

您可以根据需要拖动该公式...或者您可以执行以下操作:

这在公式中使用辅助值:

=INDIRECT(ADDRESS(C+$G15,1))

请注意,1、6、11 将允许您 select 范围和 "drag" 向下以获得偏移量,因为它们的间距始终相同。