2017-01-27 1 views
0

У меня есть электронная таблица Excel, полная ячеек, содержащих> 13 000 различных строк генетического кода (каждая длиной около 100-300 символов, состоящая полностью из A , G, C и T). Каждая клетка выглядит примерно как этотКак найти местоположение (например, номер символа) подстроки в строке (MS Excel)

ACGC CCTTT GCGATATTTTAATGGCCGCGAAAATATGCGGGATGCAAGCGCCGTT

Я определил, что около 75% всех строк содержат 5 символов длиной последовательности интересов: «CCTTT». В пределах ~ 10000 строк, содержащих хотя бы один экземпляр подстроки CCTTT, я хочу знать местоположение, где начинается/заканчивается подстрока CCTTT. Есть ли формула, которая вернет длину любой строки до начала подстроки CCTTT? Таким образом, чтобы применить эту формулу к приведенной выше ячейке примера, будет возвращено значение 4 (перед началом подстроки CCTT должно быть четыре символа).

Спасибо.

ответ

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.

+0

@AKGreene: Я предлагаю обернуть функцию IFERROR вокруг формул, чтобы избежать сообщений об ошибках, если подстроки не найдены: = IFERROR (FINT («CCTTT», A1,1) -1, «»). –

Смежные вопросы