使用公式筛选数组(无VBA)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

是否可以使用单个公式筛选数组(不使用自动筛选器,VBA或其他列)?

例如,我有以下电子表格:

   A  | B     | C
 --------------------
1| ID | Class | Value
2| 1  | A     | V1
3| 1  | B     | V2
4| 2  | A     | V3
5| 3  | B     | V4
6| 3  | B     | V5

我想在VLOOKUP中使用这个数组的一个子集。也就是说,我只想匹配类为“B”的那些行。所以我希望我可以使用类似以下的东西

=VLOOKUP(A3, FILTER_FUNC(A:C, B="B"), 3, false)

其中FILTER_FUNC是某种类型的函数或表达式,它返回一个只包含满足条件的行的数组。

提问于
用户回答回答于
=VLOOKUP(A2,IF(B1:B3="B",A1:C3,""),1,FALSE)

Ctrl+Shift+Enter 进入。

用户回答回答于

如果你只想要第一个“B”值,这可以做到这一点,如果你想使其更通用,你可以将单元格地址分配给“B”。

=INDEX(A2:A6,SUMPRODUCT(MATCH(TRUE,(B2:B6)="B",0)),1)

要基于两列使用它,只需在匹配内连接:

=INDEX(A2:A6,SUMPRODUCT(MATCH(TRUE,(A2:A6&B2:B6)=("3"&"B"),0)),1)

扫码关注云+社区

领取腾讯云代金券