Создайте столько строк, сколько значений установлено в другой ячейке - PullRequest
0 голосов
/ 08 января 2020

У меня есть лист, на котором у меня есть 2 столбца: 1 с номером, другой 1 - просто строка

1 | aaa
0 | bbb
3 | ccc
1 | ddd

Я пробую на другом листе создать столько строк, сколько номер со строкой:

aaa
ccc
ccc
ccc
ddd

Спасибо за помощь!

1 Ответ

1 голос
/ 08 января 2020

Это немного сложная задача, и я уверен, что это можно сделать проще. Однако первое, что пришло в голову, было TEXTJOIN. Так что, если ваша версия Excel поддерживает эту функцию, вы можете использовать это. Например, в C1:

=TRIM(MID(SUBSTITUTE(TEXTJOIN(" ",TRUE,REPT($B$1:$B$4&"|",$A$1:$A$4)),"|",REPT(" ",LEN(TEXTJOIN(" ",TRUE,REPT($B$1:$B$4&"|",$A$1:$A$4))))),(ROW(A1)-1)*LEN(TEXTJOIN(" ",TRUE,REPT($B$1:$B$4&"|",$A$1:$A$4)))+1,LEN(TEXTJOIN(" ",TRUE,REPT($B$1:$B$4&"|",$A$1:$A$4)))))

Это формула массива, которую необходимо ввести с помощью Ctrl Shift Ввод

enter image description here

Перетащите вниз ...


Это также будет работать, если в ваших значениях есть пробелы:

enter image description here

> Примечание: Если результирующая строка превышает 32767 символов (предел ячеек), TEXTJOIN возвращает ошибку #VALUE!.

...