excel第一列重复值如何返回第二列值

如图片所示,需要在未知价格的地方填充自动计算公司。
如果编码是同一个,如何在第二列自动返回价格(最后一个重复的对应值)如果不重复,直接返回0。例如编码49在编码列已经出现出现2次,则这个空白的C5,自动计算结果为最后一个的价格 390
例如编码14在编码列中没有重复的,则这个价格未知,默认为0,或者留空“”。
求公式,谢谢
图中只有几个数据,实际表格有几千个数据

1、选择C列,按Ctrl+G,“定位”“空值”,将C列空格处于选择状态;

2、输入以下公式,按Ctrl+Enter组合键,快速向空格填入满足条件的价格

=IF(COUNTIF(B:B,B5)=1,0,IF(COUNTIF(B:B,B5)=COUNTIF(B$2:B5,B5),LOOKUP(B5,B$2:C4),LOOKUP(B5,B:C)))

公式表示:

(1)如果B列只出现一次B5,返回0;

(2)如果B列的B5出现次数与B2:B5中B5的出现次数相同,那么就B2:C4区域对应的单价;

(3)如果当前行之前出现的次数与整列出现的次数不符,也就是在当前行的后面还会出现相同编号,就返回整列最后出现的B5的对应单价。

 

详见附图

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-11
=IF(C2="",INDEX(C:C,IF(MAX(IF(B2=B:B,ROW(B:B)))=ROW(),IFERROR(LARGE(IF(B2=B:B,ROW(B:B)),2),LARGE(IF(B2=B:B,ROW(B:B)),1)),MAX(IF(B2=B:B,ROW(B:B))))),"")

数组公式,输入公式后,按ctrl+shift+回车,要三个键一起按,而不是只按回车,三键同时按后,上面公式会自动被大括号括起来追问

计算结果都是0

第2个回答  2014-02-11
如果不太会用公式,你先按编码排序,进行填充,然后再按序号排序还原回原来的顺序不就行了?
另外,你选中一片区域后,在输入区输入内容后,按CTRL+回车就可以全部输入一样的内容了。追问

数据较多,需要公式自动计算

第3个回答  2014-02-11
D2公式:
=IF(C2="",IF(COUNTIF(B$2:B$8,B2)=1,0,LOOKUP(,0/((B$2:B$8=B2)*(C$2:C$8<>"")),C$2:C$8)),"")
下拉填充追问

计算结果都是0

计算结果都是0

追答

公式没错,看附件

追问

需要在C列空白处填充公式

追答

这个没办法,必须增加一列,在D2输入公式,下拉,复制,选择性粘贴,数值,最后删除C列

 

=IF(C2="",IF(COUNTIF(B$2:B$8,B2)=1,0,LOOKUP(,0/((B$2:B$8=B2)*(C$2:C$8<>"")),C$2:C$8)),C2)

 

看下图操作

 

本回答被网友采纳