使用 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表格里,下面的公式是啥意思 INDEX(T$59:T$216,MATCH($B16&$C16,$B$59:$B$216&$C$59:$C$216,0))*$D