2017-02-27 127 views
0

我有这个变量:如何从数组中提取特定值?

var test = sheet1.getRange(sheet1.getLastRow(),1,1,sheet1.getLastColumn()).getValues(); 

这回我下面的结果:

[[data0, data1, data2, data3, data4, etc...]] 

我可以转换成这个数组的数组或数组[[data0],[data1],[data2],[data3],etc...],所以我可以做这样的事情test[1][3]所以选择data1data3?这是最好的解决方案吗?如果是的话,我该怎么做?如果没有什么是最好的解决方案。

+1

您可以使用'sheet1.getDataRange()。getValues()'。它会将整个工作表转换为二维数组,然后您可以轻松使用'test [1] [3]'。 –

+0

谢谢,但纠正我,如果我错了。当我使用'sheet1.getDataRange()。getValues()'我有我的工作表的所有数据。我只想在我的工作表的最后一行选择数据......我不知道我是否清楚。 –

+1

是的,我明白了你的意思,是的,它会选择表格中的所有数据,但仍然可以通过修复测试的第一个参数[修复此] []来处理您想要的行。我不认为这会造成速度或任何问题。 –

回答

1

使用getDataRange().getValues()先获取表格的所有值并将其分配给变量。您现在可以像2D数组那样访问该变量。这里有一个简短的片段来向你展示。

function main(){ 
    Logger.log("the value returned was "+ fetchValue(1,1)); //will fetch the value at index 1,1 
} 

function fetchValue(row,col) { 
    var sheet = SpreadsheetApp.openById("SPREADSHEET_ID_HERE"); 
    var data = sheet.getDataRange().getValues(); 

    return data[row][col]; 
} 

我们已经创建了fetchValue方法提取从指定row,col指数值。如果您需要其他参考,请检查我的answer here