查找某列的特定值,然后返回整行的数据到另一个表格中, 不要筛选, 50
因为原始数据不能给大家看,临时编的数据,希望能得到大家的帮助,谢谢~~~~有很多的文件,且每天都要添加数据上去,所以想用个公式来完成,不知道我这样说,大家是否能明白,...
因为原始数据不能给大家看,临时编的数据,希望能得到大家的帮助,谢谢~~~~
有很多的文件,且每天都要添加数据上去,所以想用个公式来完成,不知道我这样说,大家是否能明白, 展开
有很多的文件,且每天都要添加数据上去,所以想用个公式来完成,不知道我这样说,大家是否能明白, 展开
3个回答
展开全部
1、由于你的表格填写结构的限制,尽管可以采用类似“海狮188”的数组公式,大大降低了计算效率;或使用更复杂的多重查找引用函数复合的公式完成,大大增加了公式编写难度;
假定,原始数据表为SHEET1,结果表为SHEET2,首行均为标题行,按照原有的数据表结构给你一组sheet2表使用的多重查找引用函数复合的公式:
A2:手工输入待查人员姓名;
B2:=INDEX(SHEET1!B:B,MATCH($A2,SHEET1!$A:$A,0))
C2:=INDEX(SHEET1!C:C,MATCH($A2,SHEET1!$A:$A,0))
D2:=INDEX(SHEET1!D:D,MATCH($A2,SHEET1!$A:$A,0))
E2:=INDEX(SHEET1!E:E,MATCH($A2,SHEET1!$A:$A,0))
F2:
=INDEX(INDIRECT("SHEET1!F"&MATCH(F1,Sheet1!$F:$F,0)&":F"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),MATCH($A2,INDIRECT("SHEET1!A"&MATCH(F1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),0))
G2:
=INDEX(INDIRECT("SHEET1!F"&MATCH(G1,Sheet1!$F:$F,0)&":F"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),MATCH($A2,INDIRECT("SHEET1!A"&MATCH(G1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),0))
上面式中:
INDIRECT("SHEET1!C"&MATCH(D1,Sheet1!$C:$C,0)&":C"&COUNTIF(Sheet1!$C:$C,"<>"&""),TRUE) 用于产生与第二次家长会匹配的引用范围;
MATCH($A2,INDIRECT("SHEET1!A"&MATCH(G1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&"") 用于定位与第二次家长会匹配范围的行数;
选中B2:G2,向下拖动将公式应用到其他各行即可。
2、建议:稍稍修改你的原始记录格式,便可直接使用简单的查找引用函数,完成此项要求:
a、在sheet1表中,第二次家长会、第三次家长会,改为记录于第一次家长会右侧相邻的列,根据同一姓名位置对应记录;
b、在sheet2表的B2中,输入公式:=INDEX(SHEET1!B:B,MATCH($A2,SHEET1!$A:$A,0))
c、选中B2,向右拖动将公式应用其他同行各列单元格;
d、选中B2:G2,向下拖动将公式应用到其他各行即可。
此方法可适用于wps表格/excel,公式均已验证。
假定,原始数据表为SHEET1,结果表为SHEET2,首行均为标题行,按照原有的数据表结构给你一组sheet2表使用的多重查找引用函数复合的公式:
A2:手工输入待查人员姓名;
B2:=INDEX(SHEET1!B:B,MATCH($A2,SHEET1!$A:$A,0))
C2:=INDEX(SHEET1!C:C,MATCH($A2,SHEET1!$A:$A,0))
D2:=INDEX(SHEET1!D:D,MATCH($A2,SHEET1!$A:$A,0))
E2:=INDEX(SHEET1!E:E,MATCH($A2,SHEET1!$A:$A,0))
F2:
=INDEX(INDIRECT("SHEET1!F"&MATCH(F1,Sheet1!$F:$F,0)&":F"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),MATCH($A2,INDIRECT("SHEET1!A"&MATCH(F1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),0))
G2:
=INDEX(INDIRECT("SHEET1!F"&MATCH(G1,Sheet1!$F:$F,0)&":F"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),MATCH($A2,INDIRECT("SHEET1!A"&MATCH(G1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&""),TRUE),0))
上面式中:
INDIRECT("SHEET1!C"&MATCH(D1,Sheet1!$C:$C,0)&":C"&COUNTIF(Sheet1!$C:$C,"<>"&""),TRUE) 用于产生与第二次家长会匹配的引用范围;
MATCH($A2,INDIRECT("SHEET1!A"&MATCH(G1,Sheet1!$F:$F,0)&":A"&COUNTIF(Sheet1!$F:$F,"<>"&"") 用于定位与第二次家长会匹配范围的行数;
选中B2:G2,向下拖动将公式应用到其他各行即可。
2、建议:稍稍修改你的原始记录格式,便可直接使用简单的查找引用函数,完成此项要求:
a、在sheet1表中,第二次家长会、第三次家长会,改为记录于第一次家长会右侧相邻的列,根据同一姓名位置对应记录;
b、在sheet2表的B2中,输入公式:=INDEX(SHEET1!B:B,MATCH($A2,SHEET1!$A:$A,0))
c、选中B2,向右拖动将公式应用其他同行各列单元格;
d、选中B2:G2,向下拖动将公式应用到其他各行即可。
此方法可适用于wps表格/excel,公式均已验证。
展开全部
思路1:
用match()定位,再用index()引用数据
缺陷是用姓名查找时,遇到重名的人会有问题
思路2:
用高级筛选,重名也没问题
缺陷结果表与源表必须在同一张表中
思路3:
如果是源表不希望让别人看,还可以通过照相机功能把筛选的结果映射到另一张表中。
缺陷是结果表的区域大小不能调整
用match()定位,再用index()引用数据
缺陷是用姓名查找时,遇到重名的人会有问题
思路2:
用高级筛选,重名也没问题
缺陷结果表与源表必须在同一张表中
思路3:
如果是源表不希望让别人看,还可以通过照相机功能把筛选的结果映射到另一张表中。
缺陷是结果表的区域大小不能调整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C36输入公式
=INDEX(C$2:C$34,SMALL(IF($B35=$B$2:$B$21,ROW($A$2:$A$21)-1,33),COUNTIF($B$35:$B35,$B35)))&"",用Ctrl+Shift+Enter结束,然后右拉下拉填充。
=INDEX(C$2:C$34,SMALL(IF($B35=$B$2:$B$21,ROW($A$2:$A$21)-1,33),COUNTIF($B$35:$B35,$B35)))&"",用Ctrl+Shift+Enter结束,然后右拉下拉填充。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询