2017-02-27 29 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