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