Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google应用程序脚本在索引行中的值时遇到问题_Javascript_Arrays_Google Apps Script - Fatal编程技术网

Javascript Google应用程序脚本在索引行中的值时遇到问题

Javascript Google应用程序脚本在索引行中的值时遇到问题,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我有一个包含股票数据的电子表格中的数组。我想找到一个列号“restockvalue”,以及行号product/sku(row),以最终构建一个自定义函数。该列索引良好,但该行保持记录0 我已经测试了阵列中的一些对象。我还尝试删除列索引。但是没有骰子。仍在记录0 我还尝试从代码中删除[0]。这似乎是问题的一部分,因为当我在没有[0]的情况下记录lookupRowValues时,我会得到每一行的值及其各自的括号,当我添加[0]时,我只记录第一行 function UnitsToShip(){

我有一个包含股票数据的电子表格中的数组。我想找到一个列号“restockvalue”,以及行号product/sku(row),以最终构建一个自定义函数。该列索引良好,但该行保持记录0

我已经测试了阵列中的一些对象。我还尝试删除列索引。但是没有骰子。仍在记录0

我还尝试从代码中删除[0]。这似乎是问题的一部分,因为当我在没有[0]的情况下记录lookupRowValues时,我会得到每一行的值及其各自的括号,当我添加[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。

试试这个:

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);
}

查看电子表格副本会很有帮助。谢谢您的评论,但仍记录为0。我记录了lr,得到了70行,这是正确的行数。即使我将变量更改为var lookupRowVales=ss.getRange(4,2,70,1).getValues()[0];我仍在记录0。似乎是“lookupowsvalues”变量有问题确定这是我正在使用的数组的图像。重要信息从B4开始。H列的索引正确,但第9行的索引不正确。再次感谢!现在试试看。我做了一些小改动。我做了几次编辑,所以请确保您得到最后一次。我现在做完了。