EXCEL按一个值查询出多条记录,怎么处理?

比如表2中值A对应2行记录:
12 A 2008 12
33 A 2007 5
怎么表1中把这2行数据查询出并排列出来?

EXCEL按一个值查询出多条记录,常见的用excel公式,可用两种方法:数组形式与建辅助列的形式。本例介绍运算更快的、更容易理解的建辅助列的形式解决此一对多查询的问题。

第一步,表2的数据构成如下图所示,在D列建辅助列,D2输入公式=A2&COUNTIF(A$2:A2,A2),并向下拉,复制公式。此举的目的是计算出A列中有多少个相同的编号,并且将此编号递增的加一个后缀序号。

第二步,要在表1实现查询,可在表1的相关区域输入下图所示的构成,在A2输入要查询的编码,在B2输入公式=IFERROR(VLOOKUP($A$2&ROW(A1),IF({1,0},表2!$D:$D,表2!$B:$B),2,0),""),并向下拉,复制公式;在C2输入公式=IFERROR(VLOOKUP($A$2&ROW(A1),IF({1,0},表2!$D:$D,表2!$C:$C),2,0),""),并向下拉,复制公式,即可完成了。

此时在A2输入编码A,即可查询出A对应的多个结果,见下图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-22
假设你的表2 "A"输入在A列
在另一张表sheet1中实现你说的查询,把sheet1的第一行设置与数据表表头一致
然后在A2单元格输入公式:
=INDEX(SHEET1!A:A,SMALL(IF(表2!$A$2:$A$1000="A",ROW($2:$1000),65536),ROW(1:1)))&""
此公式为数组公式,输入后按 ctrl+shift+enter 确认

将A2公式向右和向下复制,就实现你的目的了

补充:
你可以将公式中的"A",替换成一个单元格引用,然后在引用的单元格中输入查询条件,如输入A本回答被提问者采纳
相似回答