Повторить строки N раз в зависимости от заданного условия if в таблицах Google - PullRequest
1 голос
/ 05 августа 2020

Итак, у меня есть столбец, содержащий следующие строки

7-A
9-B
10-C

Я хочу сделать следующее: «Если первое di git слева - это 7 повторений 6 раз, если первое di git слева - 9 повторений 8 раз, если 10 повторений 9 раз, "

Мне удалось это сделать с помощью приведенной ниже формулы, однако она работает только с одной настройкой повторения

=sort(trim(transpose(split(query(arrayformula(REPT(A2:A600&"*",6)),,9999),"*"))),1,0)

Но Мне нужно изменить повторение на основе упомянутого условия

Если есть способ сделать это с помощью редактора сценариев, это тоже было бы здорово

Оцените это

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

REPT может принимать соответствующий массив аргументов. В свой код добавьте второй аргумент переменной, используя regexextract

=sort(trim(transpose(split(query(arrayformula(REPT(A1:A3&"*",REGEXEXTRACT(A1:A3,"\d+")-1)),,9999),"*"))),1,0) 
2 голосов
/ 05 августа 2020

попробуйте:

=ARRAYFORMULA(QUERY(FLATTEN(IFNA(SPLIT(REPT(IF(A2:A="",,A2:A&"♀"), 
 REGEXEXTRACT(A2:A, "\d+")-1), "♀"))), "where Col1 is not null", 0))

enter image description here


update:

=ARRAYFORMULA(QUERY(FLATTEN(IFNA(SPLIT(REPT(IF(A2:A="",,A2:A&"♀"), 
 VLOOKUP(REGEXEXTRACT(A2:A, "\d+")*1, 
 {5, 6; 6, 6; 7, 6; 8, 6; 9, 8; 10, 9; 11, 9}, 2, 0)), "♀"))), 
 "where Col1 is not NULL", 0))

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...