在 google sheet 中索引数组时出错

Error while indexing an array in google sheet

公式 1 ArrayFormula(regexextract(ArrayFormula(address(1,sequence(150,1,1,1),4)),"\D+"))

公式2 if(and(5>=column(indirect(B2)),5<=columns(indirect(B2))+column(indirect(B2))-1),5,-1)

B2 包含范围 E1:G4

公式 1 和 2 工作得很好,但是当我们如下所述将两者结合时出现错误:"Function INDEX parameter 2 value is -1. Valid values are between 0 and 150 inclusive."

index(ArrayFormula(regexextract(ArrayFormula(address(1,sequence(150,1,1,1),4)),"\D+")),if(and(5>=column(indirect(B2)),5<=columns(indirect(B2))+column(indirect(B2))-1),5,-1))

我故意使用 -1,它不是索引参数 2 的值,因此当 "If" 条件未满足时它会给出错误,我可以使用 iferror 函数省略整个结果,但是当条件满足时那么它不应该给出任何错误。任何解决方法都对我没有帮助,因为我需要在另一个复杂的公式中使用这个公式组件。

Google Sheet 函数

提前致谢。

尝试:

=ARRAYFORMULA(INDEX(REGEXEXTRACT(ADDRESS(1, SEQUENCE(150, 1, 1, 1), 4), "\D+"),
 IF((5>=COLUMN(INDIRECT(B2)))*(5<=COLUMNS(INDIRECT(B2))+COLUMN(INDIRECT(B2))-1), 5, -1)))