Если бы у вас был Excel 2019, вы могли бы использовать textjoin и сделать что-то вроде этого:
=IFERROR(TEXTJOIN("",1,IF(ISODD(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))),MID($A$1,(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))+1)/2,1),
IF(MID(DEC2BIN(ROW(),LEN($A$1)-1),ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))/2,1)="1",".",""))),"")
, введенный как формула массива, используя Ctrl Shift Введите
![enter image description here](https://i.stack.imgur.com/b0XkQ.png)
![enter image description here](https://i.stack.imgur.com/JAexm.png)
Я предлагаю вам найти один из доступны реализации textjoin или concat для более ранних версий Excel, например здесь . Приведенную выше формулу можно изменить, чтобы использовать ее вместо этого:
=IFERROR(cat(IF(ISODD(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))),MID($A$1,(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))+1)/2,1),IF(MID(DEC2BIN(ROW(),LEN($A$1)-1),ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))/2,1)="1",".","")),"",1),"")
РЕДАКТИРОВАТЬ
В свете полезного комментария @John Coleman, улучшенная версия первой формулы выше будет использовать Base (число, 2, min_length) вместо dec2bin, который может обрабатывать только значения до 511 или 2 ^ 9-1 (с максимальным значением 10 символов в имени):
=IF(ROW()<2^(LEN($A$1)-1),TEXTJOIN("",1,IF(ISODD(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))),MID($A$1,(ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))+1)/2,1),
IF(MID(BASE(ROW(),2,LEN($A$1)-1),ROW($A$1:INDEX(A:A,LEN($A$1)*2-1))/2,1)="1",".",""))),"")