OFFSET() + ROW() 不会给出预期的结果

OFFSET() + ROW() wont give the desired result

我正在尝试将 OFFSET 函数与 ROW 函数结合使用,但它们没有按预期工作。

如果我尝试:

{=OFFSET(A1:F1,ROW(F6)-1;0)}

它给了我错误的结果,只给出了一个包含 1 列的数组常量。

'It returns:
{0}

否则如果我使用:

{=OFFSET(A1:F1,5,0)}

它完美地工作并且 returns 一个数组常量与偏移行的相应列值。

'Would return:
{0,0,0,0,0,0}

如果 ROW returns 一个数字,为​​什么它不能正常工作?

根据我之前的评论,ROW returns 是一个数组而不是标量值(即在您的公式中 ROW(F6) returns {6} 而不是 6,这会填满您的 OFFSET(因为它需要 rows/column 偏移量的标量)。

Per https://answers.microsoft.com/en-us/msoffice/forum/all/row-function-returning-array-though-it-should-not/fcce040c-c297-43d9-a02e-a0038b6be5e0 如果您将 ROW(F6) 包装在 SUM 或 MAX 中,它应该可以解决问题,即 =OFFSET(A1:F1,SUM(ROW(F6))-1;0)