excel中如何将两列相同的数据筛选出来,同时在另一列显示之前筛选出来内容旁边列的数据

例如A列我写的单价,B列我写的发票号码,C列有一些发票号(包含B列的,有另一部分是B列中没有的),我想找出C列中包含B列部分的单价,在D列中要怎么写公式?

D1单元格输入公式=if(countif(B:B,C1)>0,C1,""),然后向下填充至与C列一样长的位置,D列结果显示的就是C、B两列所拥有的相同数据。
如果你要不同数据公式可这么写=if(countif(B:B,C1)>0,"",C1),追问

我需要的不是相同的数据,需要的是相同数据对应的A列的数据

追答

那就用=VLOOKUP(C1,A:B,1,0) ,向下填充,含有相同时,就显示对应的单价,不相同就会显示#N/A
其实也可以用前面的那种方法,相同数据显示出来后,再根据D列排序,那些单价的就在一块显示出来了

追问

还是不行,全部显示#N/A

有红色的是确定跟B列有重复的

追答

那就用楼上那位的,将A列和B互换后,输入公式:=VLOOKUP(C1,A:B,2,0)就可以

追问

那也不行,全部显示#N/A

追答

额。。这个嘛~~~我在本地测试就可以实现的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-19
假设第一行是字段名,数据从第二行开始,在D2输入公式:
=IF(COUNTIF(B:B,C2),INDEX(A:A,MATCH(C2,B:B,)),"")
将公式向下填充。追问

好像不太对啊,在D列中,B列和C列有相同数据的显示空白,没有相同的就显示#N/A

追答

公式没问题,不知实际数据情况,无法说些什么的。

追问

有红色的是确定跟B列有相同的

本回答被网友采纳
第2个回答  2012-10-19
先把A、B两列颠倒下顺序,调整后三列数据为A1(原B列数据)、B1(原A列数据)、C列,在D列做公式:=VLOOKUP(C1,A:B,2,0) ,然后用复制粘贴到你需要的行。追问

不行哦,显示#N/A

追答

你没把A、B两列数据颠倒过来吗?

第3个回答  2012-11-09

将上图A列和B互换后,输入公式:=VLOOKUP(C2,A:B,2,0),有一点是B和C列的格式必须都为文本格式,应该把C列的格式改为文本格式。

相似回答