Эта формула извлечет дескриптор СПП 3-го уровня из полного дескриптора, хранящегося в A1
:
=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",3))-1)
Обратите внимание, что эту формулу можно адаптировать для извлечения дескриптора любого уровня. Просто замените 3
на требуемый уровень.
Например, чтобы извлечь дескриптор уровня 2, используйте:
=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",2))-1)
Также обратите внимание, что эта формула будет возвращать ошибку, если указан дескриптор, уже имеющий уровень 3. Следующее позволяет это сделать:
=
IFERROR(
LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",3))-1),
IFERROR(SUBSTITUTE(A1,".",".",2),NA())
)
Другая формула, которую вы можете найти полезной:
=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))-0))-1)
Возвращает уровень предка. Обратите внимание, что эта формула также многоуровневая. Чтобы вернуть предку на два уровня выше, замените -0
на -1
. Для трех уровней вверх используйте -2
и т.д.