是否可以使用单个公式(无需自动筛选、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中使用这个数组的一个子集。也就是说,我只想匹配class为"B“的那些行。所以我希望我可以使用下面这样的东西
=VLOOKUP(A3, FILTER_FUNC(A:C, B="B"), 3, false)
其中,FILTER_FUNC是某种类型的函数或表达式,它返回一个仅包含满足条件的行的数组。
发布于 2011-06-28 02:15:27
=VLOOKUP(A2,IF(B1:B3="B",A1:C3,""),1,FALSE)
发布于 2011-06-28 02:38:51
如果你只想要第一个"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)
发布于 2011-06-28 02:23:52
听起来您只是想做一个典型的两列查找。http://www.dailydoseofexcel.com/archives/2009/04/21/vlookup-on-two-columns/
有很多解决方案,最简单的可能是下面的(不需要数组公式):
=SUMPRODUCT((Lookup!A:A=Param!A1)*(Lookup!B:B=Param!B1)*(Lookup!C:C))
要翻译您的特定示例,您可以使用:
=SUMPRODUCT((A1:A3=A2)*(B1:B3="B")*(C1:C3))
https://stackoverflow.com/questions/6497062
复制相似问题