检索表中所有在相邻列中包含数据的行,同时跳过没有数据的行?

Retrieve all rows of a table with data in adjacent columns while skipping ones that do not?

提问人:The Wayfarer 提问时间:9/15/2023 最后编辑:The Wayfarer 更新时间:9/15/2023 访问量:80

问:

我一直在努力寻找一种使用索引/匹配的方法,以便仅返回表中在相应的相邻列中具有数据的行,同时跳过没有数据的行。 我已经成功地抓取了在一个特定列中包含数据的行 - 例如第 4 列。但是我一辈子都想不出一种方法来嵌套一个 OR 函数或可以跨多个列查看的东西?

以下是我设置的示例:

数据表:

编号 X Y Z P
111 2
222 5
333
444 8
555 9
666 87 1

这是我目前的公式:

=INDEX(A1:E6, SMALL(IF((INDEX(A1:E6, , 2)<=9999) * (INDEX(A1:E6, , 2)>=1), MATCH(ROW(A1:E6), ROW(A1:E6)), “”), ROWS(A1:A1)),COLUMNS(B2))

这将输出:

111

666

由于它只在 B 列中查看。

相反,我想要的是所有行,而不是第 3 行,这是唯一没有任何数据的行。它不必通过索引/匹配!

非常感谢!

Excel 索引匹配 vlookup xlookup

评论


答:

1赞 Lambda Bam 9/15/2023 #1

如果您有 O365,则可以使用 filter/byrow/lambda/concat 函数:

=FILTER(E4:I9,BYROW(F4:I9,LAMBDA(b,CONCAT(b)))<>"")

enter image description here

评论

0赞 The Wayfarer 10/13/2023
棒!这按预期工作
2赞 Ron Rosenfeld 9/15/2023 #2

使用具有结构化引用的

在单个单元格中:

=FILTER(
    Table1[ID],
    BYROW(
        DROP(Table1, , 1),
        LAMBDA(arr, OR(arr <> ""))
    )
)

enter image description here