动态范围(指数(线

dynamic range (Index (linest

我一直在为工作站开发宏,但现在卡住了。基本上有一个相当长的简单过程要完成,我希望它自动化以节省时间并提高准确性。

问题是我试图在特定时间间隔获取数据点,以获取每次都在变化的数据范围。我可以使公式适用于单个数据集,但不适用于或多或少的数据集范围。

我使用的公式是这样的:

= (((INDEX(LINEST(C2:C4827,B2:B4827 ^{1,2,3}),1))*K2^3) + (((INDEX(LINEST(C2:C4827,B2:B4827 ^{1,2,3}),1,2)))*K2^2) + ((INDEX(LINEST(C2:C4827,B2:B4827 ^{1,2, 3}),1,3))*K2) +(INDEX(LINEST(C2:C4827,B2:B4827^{1,2,3}),1,4)))

我需要 C2:C4827,B2:B4827 是动态的,以便从 B2 和 C2 向下找到数据,无论它走多远。

抱歉,如果它令人困惑。我已经被困了几天了。

I need the C2:C4827,B2:B4827 to be dynamic to find the data from B2 and C2 down however far it goes.

您可以创建一个动态字符串作为您想要的数据范围。然后将其传递给 INDIRECT 公式。然后假设 "however far it goes" 等于相应列的 COUNTA(...) 您可以使用:

=INDIRECT("C2:C"&COUNTA(C:C))
=INDIRECT("B2:B"&COUNTA(B:B))

如果在C1B1中实际上没有数据,只需从计数中减一。

因此对于您的公式,它看起来像:

=(((INDEX(LINEST(INDIRECT("C2:C"&COUNTA(C:C)),INDIRECT("B2:B"&COUNTA(B:B))^{1,2,3}),1))*K2^3) + (((INDEX(LINEST(INDIRECT("C2:C"&COUNTA(C:C)),INDIRECT("B2:B"&COUNTA(B:B))^{1,2,3}),1,2)))*K2^2) + ((INDEX(LINEST(INDIRECT("C2:C"&COUNTA(C:C)),INDIRECT("B2:B"&COUNTA(B:B))^{1,2,3}),1,3))*K2) +(INDEX(LINEST(INDIRECT("C2:C"&COUNTA(C:C)),INDIRECT("B2:B"&COUNTA(B:B))^{1,2,3}),1,4)))