这些堪称经典的公式
1、一对多查询
如下图所示,是某公司的春节值班费明细表,要根据G2单元格指定部门,返回该部门的所有记录。
经典数组公式:
=INDEX(A:A,SMALL(IF($A$2:$A$11=$G$2,ROW($2:$11),4^8),ROW(A1)))&""
使用Office 365的小伙伴:
=FILTER(A1:D11,A1:A11=G2)
2、多对多查询
如下图所示,要根据G2单元格指定部门以及G3单元格指定的职务,返回所有的记录。
经典数组公式:
=INDEX(A:A,SMALL(IF(($A$2:$A$11=$G$2)*($B$2:$B$11=$G$3),ROW($2:$11),4^8),ROW(A1)))&""
使用Office 365的小伙伴::
=FILTER(A1:D11,A1:A11&B1:B11=G2&G3)
3、一列转多列
如下图所示,要将A列中的姓名,转换为5列多行的样式。
经典公式:
=INDEX($A:$A,ROW(A1)*5-4+COLUMN(A1))&""
使用Office 365的小伙伴::
=INDEX(A:A,SEQUENCE(11,5,2))&""
4、提取不重复清单
如下图所示,要根据B列的商品名称,提取出不重复的商品清单。
经典数组公式:
=INDEX(B:B,MATCH(0,COUNTIF(G$1:G1,B$2:B$76),0)+1)&""
使用Office 365的小伙伴::
=UNIQUE(B2:B75)
5、提取符合条件的不重复记录
如下图所示,要根据G1单元格中指定区域,从左侧表格中提取出该区域不重复的产品列表。
经典数组公式:
=INDEX(D:D,SMALL(IF((MATCH(A$2:A$17&D$2:D$17,A:A&D:D,)=ROW($2:$17))*(A$2:A$17=G$1),ROW($2:$17),4^8),ROW(A1)))&""
使用Office 365的小伙伴::
=UNIQUE(FILTER(D2:D17,A2:A17=G1))