如果版本支持TEXTJION函数,可用楼上办法实现,如果EXCEL版本较低,可参考以下方法:
在订单表的B2单元格输入公式=IFERROR(INDEX(合同!$A:$A&",",SMALL(IF(合同!$B$2:$B$1000=$A2,ROW(合同!$B$2:$B$1000),4^8),COLUMN(A1))),"")
数组公式,三键结束,右拉再下拉(得出结果后可用诸如=B2&C2&D2的办法实现合并在一个单元格内)。 如图:
追问您好!根据您的公式只能提取一个合同号
追答把截图发上来!
记得输入公式后,同时按Ctrl+Shift+Enter(回车键)结束公式,使公式前后出现大括号{},再右拉下拉。
追问结束后右拉下拉出现的也是20001,,但B3,C2的会更新出新的合同号,就是C2的不会更新
追答是不是数据区域没有引用对,把截图发来看看。
追问能出来呀,测试数据如下:链接:https://pan.baidu.com/s/1nn83dbWFOpIXPfYfqgejPQ
提取码:5890
你合同表中的订单号和合同号都有重复,如果还要去重复,公式就得改动一下,订单表C2单元格输入公式=IFERROR(INDEX(合同表!$A:$A&",",SMALL(IF((合同表!$B$2:$B$1000=$A2)*(MATCH(合同表!$A$2:$A$1000&"",合同表!$A$2:$A$1000&"",)=ROW(合同表!$A$2:$A$1000)-1),ROW(合同表!$B$2:$B$1000),4^8),COLUMN(A1)))&"","")
三键结束,右拉再下拉。 如图:
之前那个是没有去重复的,比如多个20888就对应多个YJ20001,在不去重复时,20888所对应的多个YJ20001肯定要被提取出来的。你根据情况自己选择使用即可。