используйте JOIN, чтобы перетащить несколько IMPORTRANGES в SORT (ARRAYFORMULA ({importrange1; importrange2; и т. д.}) - PullRequest
0 голосов
/ 03 января 2019

Как я могу использовать JOIN (и, возможно, VLOOKUP? FILTER?), Чтобы составить список IMPORTRANGES, в результате чего получается что-то вроде {IMPORTRANGE(C3,$E$1); IMPORTRANGE(C4,$E$1); IMPORTRANGE(C5,$E$1); IMPORTRANGE...}?

В настоящее время в листе Google у меня есть формула, которая выглядитнапример: =SORT(ARRAYFORMULA({IMPORTRANGE(C3,$E$1);IMPORTRANGE(C4,$E$1);IMPORTRANGE(C5,$E$1);IMPORTRANGE...", где URL-адреса электронных таблиц находятся в столбце C, а диапазон (одинаковый для каждого импортированного листа) - в E1.

Вводить все было нормально, когда у меня было только около дюжины электронных таблиц, которые я импортировал.и все они уже существовали.Но теперь я хочу импортировать еще много электронных таблиц (я слышал, что ограничение в 50 импортов больше не применяется), и они еще не все существуют.Если я сохраню все как есть, каждый раз, когда я добавляю другой URL-адрес электронной таблицы в столбец C, мне также нужно будет перейти и отредактировать формулу = SORT.

Затем я нашел эту тему, ЗаполнитьArrayFormula с динамическим ImportRange , в котором предложенный ответ указан в виде: ="=sort(ARRAYFORMULA({"&JOIN(";",ArrayFormula("IMPORTRANGE("""&VLOOKUP(FILTER(G2:G20,G2:G20<>""),Sheet3!$A$2:$B,2,0)&""","""&G1&"!A2:B"")"))&"}),1,True,2,True)" Соединение там выглядит интригующим (я только недавно узнал о JOIN), но я не понимаю весь синтаксис (например, "" "), и ятакже не могу получить доступ к исходной таблице, чтобы увидеть, на что указывают ссылки.

Итак, я ищу помощь в том, как ввести C3, C4, C5 и т. д. в JOIN - не знаю, какVLOOKUP помогает мне, а также, если кто-то знает, почему в предложенной формуле так много символов "& = &" "...

1 Ответ

0 голосов
/ 06 января 2019

Одно из приведенных ниже решений может сделать то, что вам нужно. Первое, что вы просили. Второй - тот, который, вероятно, будет работать для объединения нескольких IMPORTRANGE формул.

РЕШЕНИЕ 1 ="="&ArrayFormula(REGEXREPLACE(QUERY(UNIQUE(TRANSPOSE(SPLIT(CONCATENATE(IF(E3:E="","","IMPORTRANGE("&E3:E&", $E$1)"&":")),":"))),,9^99),"\)(.*?)I","\), I"))

РЕШЕНИЕ 2 ="=QUERY({"&ArrayFormula(REGEXREPLACE(QUERY(UNIQUE(TRANSPOSE(SPLIT(CONCATENATE(IF(E3:E="","","IMPORTRANGE("&E3:E&", $E$1)"&":")),":"))),,9^99),"\)(.*?)I","\); I")&"},""Select Col1 where Col1<>''"",0)")

Затем нужно просто скопировать ячейку, выбрать ячейку назначения и «вставить как значения» в строку формул .

Вы можете увидеть лист в действии ЗДЕСЬ (просто сделайте его копию для использования).

...