使用 row() 计算数组公式

Posted

技术标签:

【中文标题】使用 row() 计算数组公式【英文标题】:Arrayformula calculation with row() 【发布时间】:2022-01-19 07:56:34 【问题描述】:

=OFFSET(INDIRECT($A$4),5+row()-2,4,1,1)

我希望在同一列中的所有行中重复上述公式,因此计算将根据row() 发生变化。我试着把它放在下面,H 列是结果的去向。但是row() 没有跟随,所有结果都只是使用公式行代替。 $A$4 是我用来输入范围名称的地方。

=ARRAYFORMULA(D3:D&OFFSET(INDIRECT($A$4),5+row()-3,4,1,1))

我知道我可以把它拖下来,但自动总是更好。在我过度复杂化公式之前,是否有一个简单的解决方案可以使这个工作正常?

更新: 样品表链接 https://docs.google.com/spreadsheets/d/1di8a9I0Fv-vuQFDNfV3sPsnWbDuBWTNDYlvUAI5pOCk/edit?usp=sharing

【问题讨论】:

@idfurw,它只给出第一行的结果,可能是因为它在offset 它对我有用。 $A$4 应该类似于 Sheet1!A1 请注意,我们看不到您的电子表格。我们不知道任何地方的数据或数据类型,您的布局是什么或您的最终目标是什么。考虑共享一个指向说明问题的示例电子表格的链接,包括您希望看到的手动输入的结果以及您希望在哪里看到它们。 @idfurw,谢谢,但我无法将 $A$4 更改为 Sheet1!A1,该部分链接到命名范围,因此更改它必须更改电子表格的整个结构。我添加了一个样本表供您参考。谢谢 @ErikTyler,谢谢,我刚刚附上了带有链接的示例电子表格。提前谢谢你。 【参考方案1】:

我添加了一个包含两个公式的新工作表(“Erik 帮助”),每个公式都将返回相同的结果:

=IFERROR(OFFSET(INDIRECT("CLASS_"&$A$4),5+row()-3,4,COUNT(INDEX(INDIRECT("CLASS_"&$A$4))),1),"NO DATA")

-或-

=IFERROR(QUERY(INDEX(INDIRECT("CLASS_"&$A$4),,5),"Select * WHERE Col1 Is Not Null",0),"NO DATA")

D3 公式更好,因为它不依赖于找到公式的行(即,它可以放在任何地方并获得相同的结果)。它“更干净”(即,它没有 INDIRECT 子句的冗余)。如有必要,它也更易于阅读和编辑。

【讨论】:

谢谢你,埃里克! 不客气。

以上是关于使用 row() 计算数组公式的主要内容,如果未能解决你的问题,请参考以下文章

excel求助。计算特定时间段内星期一(到星期天)的天数的公式,附上解释。急!!!!!!!!!!!!!!

Excel表格中数组公式都有哪些使用方法

EXCEL表格里,下面的公式是啥意思 INDEX(T$59:T$216,MATCH($B16&$C16,$B$59:$B$216&$C$59:$C$216,0))*$D

product函数计算规律

请推导一个圆周率兀的计算公式,谢啦!

Excel 2016 数组公式