Строки разного размера в буквальном массиве Google Sheets

Я пытаюсь сделать это в Google Таблицах:

={{1}; {1, 1}}

и получите ошибку. В ARRAY_LITERAL в литерале массива отсутствовали значения для одной или нескольких строк.

Моя конечная цель - сделать что-то вроде этого:

"title A"
IMPORTRANGE("spreadsheet A", A:Z)...
"title B"
IMPORTRANGE("spreadsheet B", A:Z)...
"title C"
IMPORTRANGE("spreadsheet C", A:Z)...
etc...

Желательно, чтобы диапазон импорта также игнорировал пустые строки A. Каждая электронная таблица имеет разное количество столбцов и строк, и все они время от времени меняются.


person user12341234    schedule 06.10.2019    source источник


Ответы (1)


делать это нужно так:

={{1, ""}; {1, 1}}

а для вашего IMPORTRANGE примера это будет примерно так:

={{"title A","","","","","","","","","","","","","","","","","","","","","","","","",""}; 
 IMPORTRANGE("ID", "Sheet1A:Z")}

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

={{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID", "Sheet1A:Z")}

что означает: повторите (REPT) номер 12 двадцать пять раз (потому что вам нужно охватить диапазон B: Z), это даст вам номер: 1212121212121212121212121212121212121212121212121212, и теперь вы будете SPLIT это каждый раз, когда будет номер 2, поэтому вы получите 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 по 25 ячейкам. и чтобы избавиться от этих единиц, вы будете SUBSTITUTE номер один даром

или вот так:

=ARRAYFORMULA({{"title A", SUBSTITUTE(COLUMN(B:Z)^0, 1, )};
 IMPORTRANGE("ID", "Sheet1A:Z")})

также не забывайте запускать каждый IMPORTRANGE отдельно, прежде чем пытаться составить общую формулу. вам необходимо разрешить доступ для подключения ваших электронных таблиц к каждому уникальному IMPORTRANGE


={{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID1", "Sheet1A:Z");
  {"title B", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID2", "Sheet1A:Z");
  {"title C", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
 IMPORTRANGE("ID3", "Sheet1A:Z")}

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

=QUERY({{"title A", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID1", "Sheet1A:Z");
        {"title B", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID2", "Sheet1A:Z");
        {"title C", SUBSTITUTE(SPLIT(REPT(12, 25), 2), 1, )};
        IMPORTRANGE("ID3", "Sheet1A:Z")}, 
 "where Col1 is not null", 0)
person player0    schedule 06.10.2019
comment
зачем нужен SUBSTITUTE? Почему бы просто не сделать SPLIT(REPT(" ,"), ",") - person user12341234; 06.10.2019
comment
@ user12341234, чтобы удалить эти единицы. - person player0; 06.10.2019