Здравствуйте! Помогите, пожалуйста, если возможно. Есть формула в эксель, отфильтровывающая данные в новую книгу: =ФИЛЬТР(ФИЛЬТР('[Круиз.xlsx]2024'!A37:H76;('[Круиз.xlsx]2024'!G37:G76<>0)*('[Круиз.xlsx]2024'!A37:A76<>0));'[Круиз.xlsx]2024'!A1:H1) Загрузил файлы в гугл докс и пытаюсь заставить работать формулу через IMPORTRANGE: =FILTER(FILTER(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A37:H76");(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!G37:G76"<>0))*(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A37:A76"<>0)));IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A1:H1"))
Но она выдаёт ошибку: В функции FILTER указан неверный диапазон. Требуемое число строк – 40, столбцов – 1. Фактическое число строк – 1, столбцов – 1. Подскажите, пожалуйста, что делаю не так? С гугл докс почти не знаком..
Здравствуйте! Помогите, пожалуйста, если возможно. Есть формула в эксель, отфильтровывающая данные в новую книгу: =ФИЛЬТР(ФИЛЬТР('[Круиз.xlsx]2024'!A37:H76;('[Круиз.xlsx]2024'!G37:G76<>0)*('[Круиз.xlsx]2024'!A37:A76<>0));'[Круиз.xlsx]2024'!A1:H1) Загрузил файлы в гугл докс и пытаюсь заставить работать формулу через IMPORTRANGE: =FILTER(FILTER(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A37:H76");(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!G37:G76"<>0))*(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A37:A76"<>0)));IMPORTRANGE("https://docs.google.com/spreadsheets/d/1bgCLqQgZeOOXox7jhl1UF1H2v9ogI0srypNB443FChk/edit?usp=sharing";"2024!A1:H1"))
Но она выдаёт ошибку: В функции FILTER указан неверный диапазон. Требуемое число строк – 40, столбцов – 1. Фактическое число строк – 1, столбцов – 1. Подскажите, пожалуйста, что делаю не так? С гугл докс почти не знаком..PSYCHO1985
Сообщение отредактировал PSYCHO1985 - Воскресенье, 24.03.2024, 15:07
Попробуйте последний IMPORTRANGE, который на однострочный диапазон 2024!A1:H1 ссылается, обернуть в функцию ArrayFormula(...) - может поможет, т.е. [vba]
Код
... ArrayFormula( IMPORTRANGE(...) ))
[/vba] А вообще лучше сначала "пригнать" в принимающий файл на отдельный лист (ну, не жадничайте!) нужный диапазон 2024!A37:H76, в который входят два других 2024!A37:A76 и 2024!G37:G76 (видимо, по которым условия фильтрации задаются) - для этого потребуется только один IMPORTRANGE. А дальше в принимающем файле уже с помощью FILTER получить нужный результат.
Либо - наоборот, сделайте все вычисления/фильтрации в отправляющем файле и в принимающий с помощью опять же только одного IMPORTRANGE транслируйте результат.
Попробуйте последний IMPORTRANGE, который на однострочный диапазон 2024!A1:H1 ссылается, обернуть в функцию ArrayFormula(...) - может поможет, т.е. [vba]
Код
... ArrayFormula( IMPORTRANGE(...) ))
[/vba] А вообще лучше сначала "пригнать" в принимающий файл на отдельный лист (ну, не жадничайте!) нужный диапазон 2024!A37:H76, в который входят два других 2024!A37:A76 и 2024!G37:G76 (видимо, по которым условия фильтрации задаются) - для этого потребуется только один IMPORTRANGE. А дальше в принимающем файле уже с помощью FILTER получить нужный результат.
Либо - наоборот, сделайте все вычисления/фильтрации в отправляющем файле и в принимающий с помощью опять же только одного IMPORTRANGE транслируйте результат.Gustav
А вообще лучше сначала "пригнать" в принимающий файл на отдельный лист (ну, не жадничайте!) нужный диапазон 2024!A37:H76, в который входят два других 2024!A37:A76 и 2024!G37:G76 (видимо, по которым условия фильтрации задаются) - для этого потребуется только один IMPORTRANGE. А дальше в принимающем файле уже с помощью FILTER получить нужный результат.
А вообще лучше сначала "пригнать" в принимающий файл на отдельный лист (ну, не жадничайте!) нужный диапазон 2024!A37:H76, в который входят два других 2024!A37:A76 и 2024!G37:G76 (видимо, по которым условия фильтрации задаются) - для этого потребуется только один IMPORTRANGE. А дальше в принимающем файле уже с помощью FILTER получить нужный результат.
Подскажите, пожалуйста, как это сделать?PSYCHO1985
Ну, всё теперь понятно. В диапазоне "2024!A1:H1" находятся логические значения включения колонок исходной таблицы в результат (внешний ФИЛЬТР): ИСТИНА (или TRUE) - колонка включается в результат, ЛОЖЬ (FALSE) или пустая ячейка - не включается.
В итоге следующая рабочая последовательность операций выстроилась: 1. В принимающий файл добавляете новый рабочий лист, для удобства переименовываете его в "2024"
2. В ячейку A1 этого нового листа помещаете формулу: [vba]
[/vba] Обратите внимание, что составное условие внутреннего фильтра, выглядевшее в Excel как сложное выражение (произведение): [vba]
Код
('2024'!G37:G76<>0)*('2024'!A37:A76<>0)
[/vba]в таблицах Гугл может быть записано как последовательность двух (и более, если надо) простых условий (мысленно объединямых по AND):[vba]
Код
'2024'!G37:G76<>0; '2024'!A37:A76<>0
[/vba]Разумеется, сложное выражение из Excel в Гугл тоже работает.
В результате работы формулы FILTER ( FILTER возвращаются только три колонки (1-я, 7-я и 8-я) из исходных восьми, т.е. только те, для которых в диапазоне 2024!A1:H1 установлено значение TRUE(истина): [vba]
Код
Дата: Расход: Коментарии: 02 февраля 2024 г. 5 850 ₽ Г601Кр %Д 02 февраля 2024 г. 8 600 ₽ Г484Кр %Д 02 февраля 2024 г. 800 ₽ телефон ...........................................................
[/vba] P.S. Значения диапазона '2024'!A1:H1 можно прописать в формуле в виде явного горизонтального массива значений TRUE и FALSE, которые для удобства можно заменить на единицы и нули соответственно (1 - столбец включается в результат фильтра, 0 - не включается): [vba]
Код
{1\0\0\0\0\0\1\1}
[/vba] Число элементов массива при этом должно быть строго равно числу столбцов фильтруемого диапазона. В нашем случае фильтруемый диапазон A37:H76 содержит 8 колонок, по каждой из которых в массиве нужно "высказаться" нулем или единицей: [vba]
[/vba] В итоге в массив результата этой формулы войдут колонки A, G и H (т.е. 1-я, 7-я и 8-я - в соответствии с расстановкой единичек в массиве).
Ну, всё теперь понятно. В диапазоне "2024!A1:H1" находятся логические значения включения колонок исходной таблицы в результат (внешний ФИЛЬТР): ИСТИНА (или TRUE) - колонка включается в результат, ЛОЖЬ (FALSE) или пустая ячейка - не включается.
В итоге следующая рабочая последовательность операций выстроилась: 1. В принимающий файл добавляете новый рабочий лист, для удобства переименовываете его в "2024"
2. В ячейку A1 этого нового листа помещаете формулу: [vba]
[/vba] Обратите внимание, что составное условие внутреннего фильтра, выглядевшее в Excel как сложное выражение (произведение): [vba]
Код
('2024'!G37:G76<>0)*('2024'!A37:A76<>0)
[/vba]в таблицах Гугл может быть записано как последовательность двух (и более, если надо) простых условий (мысленно объединямых по AND):[vba]
Код
'2024'!G37:G76<>0; '2024'!A37:A76<>0
[/vba]Разумеется, сложное выражение из Excel в Гугл тоже работает.
В результате работы формулы FILTER ( FILTER возвращаются только три колонки (1-я, 7-я и 8-я) из исходных восьми, т.е. только те, для которых в диапазоне 2024!A1:H1 установлено значение TRUE(истина): [vba]
Код
Дата: Расход: Коментарии: 02 февраля 2024 г. 5 850 ₽ Г601Кр %Д 02 февраля 2024 г. 8 600 ₽ Г484Кр %Д 02 февраля 2024 г. 800 ₽ телефон ...........................................................
[/vba] P.S. Значения диапазона '2024'!A1:H1 можно прописать в формуле в виде явного горизонтального массива значений TRUE и FALSE, которые для удобства можно заменить на единицы и нули соответственно (1 - столбец включается в результат фильтра, 0 - не включается): [vba]
Код
{1\0\0\0\0\0\1\1}
[/vba] Число элементов массива при этом должно быть строго равно числу столбцов фильтруемого диапазона. В нашем случае фильтруемый диапазон A37:H76 содержит 8 колонок, по каждой из которых в массиве нужно "высказаться" нулем или единицей: [vba]
[/vba] В итоге в массив результата этой формулы войдут колонки A, G и H (т.е. 1-я, 7-я и 8-я - в соответствии с расстановкой единичек в массиве).Gustav