Импортировать из источника с переменным количеством строк? - PullRequest
0 голосов
/ 12 июня 2019

Я новичок в Googlescript, поэтому, пожалуйста, извините за мой простой вопрос: я хочу импортировать данные из одной таблицы googlescript в другую, используя IMPORTRANGE(). В исходном диапазоне из исходного листа googlesheet может быть заполнено от 1 до 6 строк (переменная), но мой целевой диапазон моего целевого листа googlesheet должен содержать только непустые строки.

var urlsheet=SpreadsheetApp.getActive().getSheetByName('Enter Report URL');

// the URL of the source Googlesheet is pasted in cell A5 of the target Googlesheet:'Enter Report URL'

var cell20=urlsheet.getRange("A5");

var cellB20value=cell20.getValue();

// then I use the Importrange formula on the cell with the URL and paste it in cell A20 which gives me the importrange of the source sheet

var temptarget=urlsheet.getRange("A20");
    temptarget.setFormula('=IMPORTRANGE('+cellB20value+',"Admin Use Only!A4:U9")');

//Finally, I paste the Importrange from A20 in the last row of my target sheet:

var Creditdetail=SpreadsheetApp.getActive().getSheetByName('Credit_Detail');

var lastrowcredit= Creditdetail.getLastRow()+1;

var finaltarget=Creditdetail.getRange(lastrowcredit,1);

  temptarget.copyTo(finaltarget, {contentOnly:true});

Но это продолжает добавлять 6 строк, которые я просил (от A4 до U9 на исходном листе) ...

Может кто-нибудь помочь мне понять, как импортировать только непустые строки?

1 Ответ

0 голосов
/ 16 июня 2019

IMPORTRANGE будет импортировать все значения, охватываемые ссылкой, указанной в качестве второго аргумента.

В основном есть два необязательных пути:

  • Фильтрация данных перед их импортом,то есть с помощью FILTER, QUERY и т. д., затем используйте ссылку на диапазон, содержащий результаты, или с помощью Google Apps Script для getValues ​​/ getDisplayValues, а затем выполняйте фильтрацию с использованием некоторых методов JavaScript, таких как Array.prototype.filter(callback).
  • Отфильтруйте данные после того, как они были импортированы, то есть с помощью QUERY, если это будет сделано по той же формуле, FILTER, если это будет сделано с помощью другой формулы.
...