EXCEL中A与B有关键字是一样的,现在需要在C列输出与B列相匹配的A列数值,请大神帮帮忙,谢谢

如题所述

第1个回答  2018-06-03
你试试这个公式:
C1公式:
=LEFT(SUBSTITUTE(RIGHT(B1,LEN(B1)-SEARCH("市",B1)),"市",""),4)
这个公式是直接从B列单元格中提取出你要的四个字,用不到A列。
不知道你所有的B列数据是不是都具有这样的规律,如果有问题,请继续追问。追问

你好,这个公式不行,之提取了部分,我需要完整的A列信息在C列显示出来,需要跟B匹配,还有其他办法吗?

追答

你A列不都是四个字吗?我这公式提取出来的四个字和你A列中的四个字是一样的。至少你提供的这三行数据是可以的。
要不你把更多数据的截图发出来我看看是什么样的。

追问

有900多列,麻烦了。一定要A列的完整信息

第2个回答  2018-06-03
=IFERROR(OFFSET(A$1,MATCH(ROW(),D:D,0)-1,0),"")
我还占用了个D列
你需要在D1输入以下数组公式(输入公式按ctrl+shift+enter)
=MATCH(0,(FIND(A1,B:B)*0),0)
看到你对其他人追问中的截图,按你这两张图,D列的数组公式改为
=MATCH(0,(FIND(MID(A1,5,99),B:B)*0),0)追问

你好,不行啊,显示结果是VALUE,还有其他方法吗

追答

1 D公式,把5改为6。是我的错。。。
2 你没把D列输入成数组格式,你把公式粘贴进去后,还出在编辑单元格的状态下,按ctrl shift enter 你会发现d列显示的公式带大括号,这才是数组公式,这时候就是对的了。
3 我用的excel 2007,如果你的低于这个版本,我再修改公式。。
4 公式已按你的截图亲测,肯定没问题。

1 D公式,把5改为6。是我的错。。。
2 你没把D列输入成数组格式,你把公式粘贴进去后,还出在编辑单元格的状态下,按ctrl shift enter 你会发现d列显示的公式带大括号,这才是数组公式,这时候就是对的了。
3 我用的excel 2007,如果你的低于这个版本,我再修改公式。。
4 公式已按你的截图亲测,肯定可用

追问

谢谢了

本回答被提问者和网友采纳
第3个回答  2018-06-03
数据有多少?多的话写vba处理。追问

多的,我不知道VBA怎么弄?可以帮我弄一下吗?谢谢了

追答

可以~vxin

farahead14

相似回答