通过搜索另一列中的部分数据,从excel电子表格的一列中提取数据?

时间:2015-04-12 21:42:57

标签: excel vba

基本上,我有一个包含两列的Excel电子表格:列A有一个完整的基因名称,看起来像gi | 748593723 | ref | WP_005837193.1 |基因名称和B列只有保藏号,即WP_005837193.1部分。 B栏要短得多,因为它含有我感兴趣的基因的登录号,而A栏是完整的基因列表。我需要将B中的入藏号转换为A中的完整格式。我想我可以做一些事情,其中​​excel在A列中搜索B1并返回A列中找到值的单元格,但我是挣扎。有谁知道如何去做这样的事情?谢谢!

2 个答案:

答案 0 :(得分:1)

使用正则表达式最简单地解决您的问题(我在Excel中使用正则表达式加载项):

  • 在A列之前插入一列(现在原始列A和B更改为B和C)

  • A列中的
  • 公式(从A2开始,假设您有标题):=rxfind(B2,"WP[^|]*")

  • D栏中的
  • 公式:=vlookup(C2,A:B,2,false)

答案 1 :(得分:0)

最简单的事情可能是:

  1. 复制所有栏目" A"进入专栏" C"
  2. 突出显示专栏" C"并使用文本到列
    • 选择分隔,然后检查其他,然后键入|进入框中
  3. 现在复制所有入藏号码(来自#34; F"?栏),然后在#34; A"栏中插入,这将把所有内容都移到。
  4. 删除" D"中的所有列在
  5. 现在列#34; D"您可以在单元格" D2"中使用=vlookup(C2, A:B, 2, False),假设您的数据从第2行开始,并填写到您的加入列表的底部。您应该在列#34; D"中找到一个新列表。每个登录号的完整基因。