excel查找符合条件的数据,并自动按日期先后进行排列?

如图,表sheet2中“日期、情况”的数据根据证号从sheet1中查找,当shee1更新时,sheet2会自动更新。要补充说明的是,根据证号的不同,会有很多像sheet2的表,所以查找的内容是每个表sheet2中的B2,而不是440201.

简单,
sheet2表的A3输入
=if(row(a1)>countif(sheet1!$C:$C,$b$2),"",index(sheet1!A:A,small(if(indirect("sheet1!c2:C"&counta(sheet1!$C:$C))=$b$2,row(indirect("sheet1!c2:C"&counta(sheet1!$C:$C))),4^8),row(a1)))&"")
这是数组公式,需要你输入公式后,按下ctrl+shift+回车,即看到公式前后有{}的产生即可
然后右拉公式到E3
再选中A3:E3
下拉填充,即可。追问

不行,没有数据出来!

追答

注意是数组公式,你要保证按下了三键,而不只是回车。
另外,公式是根据你的截图格式来测试的,你的b2单元格要输入内容。
另外,你文字描述是说B2,但图是B1,公式是B2
如果按图来讲,公式中的二个$B$2,修改为$B$1

追问

噢,行了,但导出的日期只显示为5位数的数字,而且把单位格格式改为日期也显示不了。

追答

噢。不好意思,这个我疏忽了。
你把日期列的公式,即B列公式修改一下。
=if(row(a1)>countif(sheet1!$C:$C,$b$2),"",text(index(sheet1!B:B,small(if(indirect("sheet1!c2:C"&counta(sheet1!$C:$C))=$b$2,row(indirect("sheet1!c2:C"&counta(sheet1!$C:$C))),4^8),row(a1))),"yyyy-mm-dd"))

追问

结果没有按日期排列!

追答

你的sheet1本身就是按日期排列输入的不是吗?
如果不是,我个人建议你先处理sheet1按日期列为主要关键字排列。
不然,你的要求,函数无法实际。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-12
列一列的复制粘贴就行了,何必整那么复杂?
相似回答