Size: a a a

Чат | Google Таблицы и скрипты

2019 May 19

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Функцией query выбираю данные из sheets сотрудников с отчётами по зарплате. Хочу, чтобы в завсимости из какого отчёта беру данные - добавлять фиксированный столбец к этим данным. Например, если данные из отчёта "Иванов", то добавлять столбец сотрудник с фамилией "Иванов". Чтобы потом по итоговым данным строить запросы. Как это сделать?

Данные сейчас импортируются вот такой конструкцией.


=QUERY(
{
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Иванов/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Петров/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0","Данные!A1:R")
},
"SELECT * WHERE Col2 is not null",1 )
источник

НS

Николай Smith in Чат | Google Таблицы и скрипты
Eugeny Namokonov
я придумал, как это сделать внутри формулы массива
аплодирую!)
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
Sergey Doronin
Функцией query выбираю данные из sheets сотрудников с отчётами по зарплате. Хочу, чтобы в завсимости из какого отчёта беру данные - добавлять фиксированный столбец к этим данным. Например, если данные из отчёта "Иванов", то добавлять столбец сотрудник с фамилией "Иванов". Чтобы потом по итоговым данным строить запросы. Как это сделать?

Данные сейчас импортируются вот такой конструкцией.


=QUERY(
{
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Иванов/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Петров/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0","Данные!A1:R")
},
"SELECT * WHERE Col2 is not null",1 )
Просто в таблицы добавьте столбец фамилия и все
источник

Д

Дмитрий in Чат | Google Таблицы и скрипты
с importrange у всех все хорошо? перестал работать в одной таблице вроде бы ни с чего..
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
Функцией query выбираю данные из sheets сотрудников с отчётами по зарплате. Хочу, чтобы в завсимости из какого отчёта беру данные - добавлять фиксированный столбец к этим данным. Например, если данные из отчёта "Иванов", то добавлять столбец сотрудник с фамилией "Иванов". Чтобы потом по итоговым данным строить запросы. Как это сделать?

Данные сейчас импортируются вот такой конструкцией.


=QUERY(
{
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Иванов/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Петров/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0","Данные!A1:R")
},
"SELECT * WHERE Col2 is not null",1 )
Внутрь QUERY можно добавить фиксированный столбец она заполнится на всю колонку

..."select 'ИВАНОВ', WHERE Col2 is not null label 'ИВАНОВ' 'Фамилия'";1)
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
Функцией query выбираю данные из sheets сотрудников с отчётами по зарплате. Хочу, чтобы в завсимости из какого отчёта беру данные - добавлять фиксированный столбец к этим данным. Например, если данные из отчёта "Иванов", то добавлять столбец сотрудник с фамилией "Иванов". Чтобы потом по итоговым данным строить запросы. Как это сделать?

Данные сейчас импортируются вот такой конструкцией.


=QUERY(
{
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Иванов/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Петров/edit#gid=0","Данные!A1:R");
IMPORTRANGE("https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0","Данные!A1:R")
},
"SELECT * WHERE Col2 is not null",1 )
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Admin
Внутрь QUERY можно добавить фиксированный столбец она заполнится на всю колонку

..."select 'ИВАНОВ', WHERE Col2 is not null label 'ИВАНОВ' 'Фамилия'";1)
Супер, спасибо
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Авазбек Исманов
Просто в таблицы добавьте столбец фамилия и все
Не хочу так, из-за возможных ошибок заполнения сотрудниками. Лучше уж один раз, запросом)
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
Супер, спасибо
Получилось?

А что за фамилия в самой ссылке, вместо ID, это как?
https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0Сидоров/edit#gid=0
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Admin
Получилось?

А что за фамилия в самой ссылке, вместо ID, это как?
https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0Сидоров/edit#gid=0
Ну там id дока Сидорова. Пока не у компа. Попробую через часок.
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Admin
Получилось?

А что за фамилия в самой ссылке, вместо ID, это как?
https://docs.google.com/spreadsheets/d/Сидоров/edit#gid=0Сидоров/edit#gid=0
Получается, если перечислять столбцы в SELECT. А вот со * и добавить в начало или в конец столбец не получается. Типа "SELECT *, ''Иванов" - так не выходит. МОжно как-то выбрать все столбцы без перечисления и добавить столбец-константу?
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
Получается, если перечислять столбцы в SELECT. А вот со * и добавить в начало или в конец столбец не получается. Типа "SELECT *, ''Иванов" - так не выходит. МОжно как-то выбрать все столбцы без перечисления и добавить столбец-константу?
Наверно можно как-то проще.

={QUERY(A1:B4; " select 'Иванов' where B is not null label 'Иванов' 'Фамилия'";1)\QUERY(A1:B4; " select * where B is not null";1)}

Обратить внимание is not null в двух квери нужен, чтобы строки совпадали
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
Admin
Наверно можно как-то проще.

={QUERY(A1:B4; " select 'Иванов' where B is not null label 'Иванов' 'Фамилия'";1)\QUERY(A1:B4; " select * where B is not null";1)}

Обратить внимание is not null в двух квери нужен, чтобы строки совпадали
я так понимаю, что первый запрос формирует нужное количество Ивановых. Затем это склеивается со вторым запросом. Но вот с операцией "\" впервые сталкиваюсь в QUERY. Попробую погуглить.
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
я так понимаю, что первый запрос формирует нужное количество Ивановых. Затем это склеивается со вторым запросом. Но вот с операцией "\" впервые сталкиваюсь в QUERY. Попробую погуглить.
";" собирает массив в столбец
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
я вот про это
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
я так понимаю, что первый запрос формирует нужное количество Ивановых. Затем это склеивается со вторым запросом. Но вот с операцией "\" впервые сталкиваюсь в QUERY. Попробую погуглить.
"\" обратный слэш - собирает в строку
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
а, вот, про него
источник

SD

Sergey Doronin in Чат | Google Таблицы и скрипты
спасибо
источник

A

Admin in Чат | Google Таблицы и скрипты
Sergey Doronin
Получается, если перечислять столбцы в SELECT. А вот со * и добавить в начало или в конец столбец не получается. Типа "SELECT *, ''Иванов" - так не выходит. МОжно как-то выбрать все столбцы без перечисления и добавить столбец-константу?
Можно еще отдельную колонку через ArrayFormula автозаполнять
источник