如何查找字符串中子字符串的位置(例如字符编号)(MS Excel)

时间:2017-01-27 06:59:33

标签: excel-formula

我有一个Excel电子表格,其中包含大约13,000个不同的遗传密码字符串(每个长度约100-300个字符,完全由A' s,G' s组成)和T' s)。每个单元看起来都像这样

ACGC的 CCTTT GCGATATTTTAATGGCCGCGAAAATATGCGGGATGCAAGCGCCGTT

我已经确定所有字符串中约有75%包含5个字符长的感兴趣序列:" CCTTT"。在包含至少一个CCTTT子串实例的~10,000个字符串中,我想知道CCTTT子串开始/结束的位置。是否有一个公式将在CCTTT子串开始之前返回任何字符串的长度?因此,将该公式应用于上面给出的示例单元格将返回值4(在CCTT子字符串开头之前有四个字符)。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用此公式计算“CCTTT”之前的长度:= FIND(“CCTTT”,A1,1)-1。 使用此公式计算结束位置:=(FIND(“CCTTT”,A1,1)-1)+5,它只是添加搜索代码片段的长度。如果该长度稍后变化(片段),您可以将“+5”更改为“+ len(Snippet)”。

如果字符串中出现多个子字符串“CCTTT”,则此公式计算第二个字符串之前的字符:= FIND(“CCTTT”,$ A1,FIND(“CCTTT”,$ A1,1) )5)-1。第二个的“终点”:=(FIND(“CCTTT”,$ A1,FIND(“CCTTT”,$ A1,1)+5)-1)+5。