Сценарии Google Apps приводят к проблемам при индексации значений в строке - PullRequest
1 голос
/ 05 октября 2019

У меня есть массив в электронной таблице, в которой есть данные о запасах. Я хочу найти номер столбца «стоимость товара» и номер строки product / sku (Row), чтобы в конечном итоге построить пользовательскую функцию. Столбец индексируется нормально, но строка продолжает регистрировать 0.

Я протестировал несколько объектов в моем массиве. Я также попытался удалить индекс столбца. но не игра в кости. ведение журнала 0.

Я также пытался удалить [0] из моего кода. Кажется, что это является частью проблемы, потому что, когда я регистрирую lookupRowValues ​​без [0], я получаю значение каждой строки с их собственными отдельными скобками, когда я добавляю [0], я регистрирую только первую строку.

function UnitsToShip(){

  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("US");


  //Lookup Column

  var lc = ss.getLastColumn();

  var lookupColumnValues = ss.getRange(4,2,1,lc).getValues()[0];

  var indexColumn = lookupColumnValues.indexOf("Restock Amount") + 1;


  //Lookup Row

  var lr = ss.getLastRow();

  var lookupRowValues = ss.getRange(4,2,lr,1).getValues()[0];

  var indexRow = lookupRowValues.indexOf("AH-POR-DIF-WHT")+1;

  Logger.log(indexRow);
}

Я тестирую его с продуктом в массиве, который должен вернуть 6.

1 Ответ

1 голос
/ 06 октября 2019

Попробуйте это:

function UnitsToShip(){
  var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("US");
  //Lookup Column
  var lc = ss.getLastColumn();
  var lookupColumnValues = ss.getRange(4,2,1,lc-1).getValues()[0];
  var indexColumn = lookupColumnValues.indexOf("Restock Amount") + 2;
  Logger.log('indexColumn: %s',indexColumn);
  //Lookup Row
  var lr = ss.getLastRow();
  var lookupRowValues = ss.getRange(4,2,lr-3,1).getValues().map(function(r){return r[0];});
  var indexRow = lookupRowValues.indexOf("AH-POR-DIF-WHT")+4;
  Logger.log('indexRow: %s',indexRow);
  var restockAmount=ss.getRange(indexRow,indexColumn).getValue();
  Logger.log('Restock Amount: %s',restockAmount);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...