使用公式过滤数组(不使用VBA)

J. *_*ian 19 excel worksheet-function

是否可以使用单个公式过滤数组(不使用自动过滤器,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
Run Code Online (Sandbox Code Playgroud)

我想在VLOOKUP中使用此数组的子集.也就是说,我只想匹配那些类为"B"的行.所以我希望我可以使用以下内容

=VLOOKUP(A3, FILTER_FUNC(A:C, B="B"), 3, false)
Run Code Online (Sandbox Code Playgroud)

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

GSe*_*erg 16

=VLOOKUP(A2,IF(B1:B3="B",A1:C3,""),1,FALSE)
Run Code Online (Sandbox Code Playgroud)

Ctrl+Shift+Enter 进入.

  • 注意关于输入数组公式的注释`[Ctrl + Shift + Enter]`,否则Excel可能会抛出错误或返回错误的结果. (2认同)