Есть ли скрипт для выполнения функции запроса и диапазона импорта вместе - PullRequest
0 голосов
/ 29 марта 2019

Нужен скрипт для выполнения функции запроса и диапазона импорта. скрипт должен импортировать определенные столбцы и строки только с предоставленными условиями.

function UpdateRange() { var values = SpreadsheetApp.openById('Source'). getSheetByName('Dump').getRange('A:Q').getValues(); SpreadsheetApp.getActive().getSheetByName('DATA'). getRange(1,1,values.length,values[0].length).setValues(values); //destination as getrange([row], [col] }

=Query(IMPORTRANGE("source sheet","A:AC"),"Select Col2,Col3,Col4,Col6,Col29,Col9,Col12,Col17,Col25 where Col4 contains date'"&TEXT(TODAY(),"yyyy-MM-dd")&"' and Col11 contains'' and Col17 contains 'cancelled' and Col7 contains 'City'",1)

Необходимо выполнить действие по формулам, указанным в коде

1 Ответ

0 голосов
/ 29 марта 2019

Для простейшего способа я использую AlaSQL

function importrangequery(){
  var alasql = AlaSQLGS.load();
  var data =  SpreadsheetApp
    .openById("14I34TM84uBnVILA3KQh9Y2LZr_Tr_fMsDQI2kYfht-E")
    .getSheets()[0]
    .getDataRange()
    .getValues()
    .slice(0, 1000);
  var res = alasql('\
SELECT MATRIX t.[0], t.[1] \
FROM ? as t \
WHERE t.[1] LIKE "%wq%" OR t.[1] LIKE "%uu%"',
                   [data]);
  Logger.log(res);

/* 
  // To insert into another table

  var output = SpreadsheetApp
    .openById("10uS4_YD4z2Ea-UnxkdydxB6QAKJ9GQUQX4Ozvw0F13o")
    .getSheetByName('Output');
  output.getDataRange().clearContent();
  output.getRange(1,1,res.length, res[0].length).setValues(res);
*/

}

The lib https://github.com/oshliaer/alasqlgs

Пример https://drive.google.com/drive/folders/1iG34CHDVBIwqG8yOcjJYHl3gx1IsTzOJ

Есть и другие способы для этого https://stackoverflow.com/a/28751946/1393023

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