1、一对多查询
如下图所示,是某公司的春节值班费明细表,要根据G2单元格指定部门,返回该部门的所有记录。F6单元格输入以下公式:=FILTER(A1:D11,A1:A11=G2)FILTER函数的作用使用根据指定的条件筛选数据。用法是:=FILTER(数组,条件,[没有符合条件的内容时返回的值])如果你使用的不是Office 365,可以在F6单元格输入以下数组公式,按住SHift+ctrl不放按回车,再把把公式向下向右拖动。=INDEX(A:A,SMALL(IF($A$2:$A$11=$G$2,ROW($2:$11),4^8),ROW(A1)))&""
2、多对多查询如下图所示,要根据G2单元格指定部门以及G3单元格指定的职务,返回所有的记录。F6单元格输入以下公式:=FILTER(A1:D11,A1:A11&B1:B11=G2&G3)
如果你使用的不是Office 365,可以在F6单元格输入以下数组公式,按住SHift+ctrl不放按回车,然后把公式向下向右拖动。
=INDEX(A:A,SMALL(IF(($A$2:$A$11=$G$2)*($B$2:$B$11=$G$3),ROW($2:$11),4^8),ROW(A1)))&""
3、一列转多列如下图所示,要将A列中的姓名,转换为5列多行的样式。C2单元格输入以下公式:=INDEX(A:A,SEQUENCE(11,5,2))&""SEQUENCE函数是专门用于生成序号的,使用起来特别简单,用法是:=SEQUENCE(行数,[列数],[起始值],[步长])
如果你使用的不是Office 365,可以在C2单元格输入以下公式,然后把公式向下向右拖动到出现空白为止。
=INDEX($A:$A,ROW(A1)*5-4+COLUMN(A1))&""
4、提取不重复清单如下图所示,要根据B列的商品名称,提取出不重复的商品清单。G2单元格输入以下公式:=UNIQUE(B2:B75)UNIQUE函数的作用就是提取不重复值列表的。这个函数的完整写法是:=UNIQUE(数据源,[按行/按列],[唯一值出现次数])
如果你使用的不是Office 365,可以在G2单元格输入以下数组公式,按住SHift+ctrl键不放按回车,然后把公式向下向右拖动到出现空白为止。
=INDEX(B:B,MATCH(0,COUNTIF(G$1:G1,B$2:B$76),0)+1)&""
5、提取符合条件的不重复记录
如下图所示,要根据G1单元格中指定区域,从左侧表格中提取出该区域不重复的产品列表。F4单元格输入以下公式:=UNIQUE(FILTER(D2:D17,A2:A17=G1))这个公式的意思是先使用FILTER函数提取出符合指定区域的记录,然后再使用UNIQUE函数从这些记录中返回不重复的内容。
如果你使用的不是Office 365,可以在F4单元格输入以下数组公式,按住SHift+ctrl键不放按回车,然后把公式向下拖动到出现空白为止。
=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)))&""
今天的练手文件:https://pan.baidu.com/s/1zf1CYPwFkPpEN57_5WD2Qg提取码: e9y5