我想在 BYROW 函数中使用 INDEX MATCH,用 INDEX MATCH 的输出填充整个列。 INDEX MATCH 函数有 2 个条件。 标准 1 位于当前列 (
indirect(ADDRESS(2,column(),4)
) 的第 2 行,并在名为 rang SUG_Drawing 中查找。
标准 2 位于当前行 (indirect(ADDRESS(row(),1,4)
) 的第 1 列,并在命名范围 SUG_EXC_PN 中查找。
当满足两个条件时,下面的函数输出命名范围 SUG_QTY 中的数据。该功能的工作原理如 J 列所示
index(SUG_QTY,match(1,index((indirect(ADDRESS(2,column(),4))=SUG_Drawing) * (indirect(ADDRESS(ROW(),1,4))=SUG_EXC_PN),0,1),0))
我想使用 BYROW 函数来迭代条件 2 的行。所以我最终得到了下面的公式:
=BYROW(INDIRECT(ADDRESS(3,COLUMN()+1,4)&”:”&ADDRESS(B1,D1,4)), LAMBDA(q,INDEX(SUG_QTY,MATCH(1,INDEX(INDIRECT(ADDRESS(2,column(),4))=SUG_Drawing) * (INDIRECT(ADDRESS(q,1,4))=SUG_EXC_PN),0))))
问题是每行的输出都是以下错误“在 MATCH 评估中未找到值‘1’。”。如K列所示 如果我将名称 q 更改为我知道有效的数字,则每行的输出都是相同的。如L栏所示。
期望的结果是将 1 个函数放入第 k3 行,然后输出与 J3:J243 中相同的数据。