我在Excel中有一个列如下:
A1 cell: gi|948971612|gb|JQBK01000038.1|
A2 cell: gi|948958729|gb|JQBK01000277.1|
A3 cell: gi|948968182|gb|JQBK01000119.1|
现在在B栏中有一个非常大的文本,如下所示:
>gi|948971612|gb|JQBK01000038.1| Lactobacillus acidipiscis strain DSM 15353 Scaffold295, whole genome shotgun sequence
CAACCATTCCATCTGCAATGATCAACTGGACTTGTTCTAATCCACGTTTTTTAAGATCTTCTGCCATTTC
TGACCAAACTCCTGCATTTTCACTTGGAGCGATTCGATAATCAAGAACTTCTTTGATGCCGACAGATGTA
ATACCTAAAGCAATATAGACCGCTTCTCTTTGAACTGAATCGCGGCGCAAAGGTAAGTAAGTTG
>gi|948957817|gb|JQBK01000039.1| Lactobacillus acidipiscis strain DSM 15353 Scaffold296, whole genome shotgun sequence
ATCGGTCGAGGACTTAACCAACGAGTCGCGTGTGTGGGCTCGGTCAGATAAAAGCAGCAAGAAATGAATG
TTAGTCAGTTTTGAGGGAATGGATCTCTCAAAGAAAAAAACACAAGTGCGGTGGCGATAGCACGAAGGCT
ACACATGTTCCCATGCCGAACACAGCAGTTAAGCTTCGTCACGCCAAGAGTAGTTGGGGGAT
>gi|948957803|gb|JQBK01000040.1| Lactobacillus acidipiscis strain DSM 15353 Scaffold297, whole genome shotgun sequence
AAGCAAGGAGCTCAAGGAGCAAGTAAACAACTTTCACATTTAGGAAAGGGACTAATGGGCGTAATGGGCT
CAATTATCCAGTCCGCCTATCAGATTCAACAACAAAACCGCTATATTGCAAAACGAAACGCCTATTATGC
TCAACAGCAACAGCGCAGAAACCACCGCAGACAACAGGAAGATGAAATTGAACGTTAACGA
我想将一个函数用于一个新列,该列能够找到每个A列单元格(for example for A1 cell is: "gi|948971612|gb|JQBK01000038.1|")
的内容,其位于此B列大杂乱文本中,当找到此内容时,然后将文本从">gi|948971612|gb|JQBK01000038.1|"
复制到开始的下一个">gi"
。我的意思是在这个例子中复制到新单元格中的最终结果是:
">gi|948971612|gb|JQBK01000038.1| Lactobacillus acidipiscis strain DSM 15353 Scaffold295, whole genome shotgun sequence
CAACCATTCCATCTGCAATGATCAACTGGACTTGTTCTAATCCACGTTTTTTAAGATCTTCTGCCATTTC
TGACCAAACTCCTGCATTTTCACTTGGAGCGATTCGATAATCAAGAACTTCTTTGATGCCGACAGATGTA
ATACCTAAAGCAATATAGACCGCTTCTCTTTGAACTGAATCGCGGCGCAAAGGTAAGTAAGTTG"
如果无法使用Excel,那么欢迎任何其他建议!
答案 0 :(得分:0)
假设您的“大文字”在B1中,
in C1 enter: =FIND(A1,B1)
in D1 enter: =FIND(">gi", B1, C1)
in E1 enter: =MID(A1, C1, D1-C1)
E1包含您想要的文字。
答案 1 :(得分:0)
所以你有2列优秀:A,B
你想把一些搜索到的B字符串放入C中,这符合你问题中描述的A栏相关的条件?
如果您了解一些VB语言,可以构建VBA宏来轻松完成 或者您只需将以下公式放在C列中。
=IF(ISNUMBER(SEARCH(">"&A1, B1)),MID(B1,SEARCH(">"&A1, B1),IF(ISNUMBER(SEARCH(">", B1,SEARCH(">"&A1, B1)+1)),SEARCH(">", B1,SEARCH(">"&A1, B1)+1)-SEARCH(">"&A1, B1),LEN(B1)-SEARCH(">"&A1, B1))),"")
所以这个公式从B中找到A,如果没有找到,只需简单地放入空字符串, 但如果找到,则将字符串从找到的位置剪切到第一次出现的">"。 希望这个公式解决你的问题。