2015-05-01 43 views
0

我使用以下函數在電子表格中迭代CONCATENATE。但是,它顯示以下錯誤使用應用程序腳本在谷歌電子表格中連接一組列表

缺失;在陳述之前。 (第11行,文件「代碼」)。

function iterate() 
{ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 

    var startRow = 2; 
    var lastRow = sheet.getLastRow(); 

    for (var i = startRow; i <= lastRow; i++) 
    { 
    var result(i) =     =CONCATENATE("http://cdn.staticmb.com/mbphoto/property/original_images/",A(i), "/ ",E(i), "/" ,C(i),"/",D(i)) ; 

    var range = sheet.getRange("F2,F15"); 
    range.setValues(result(i));    
    } 
} 
+0

你能描述一下你真正想做什麼嗎?你期待什麼結果?你的腳本的語法是錯誤的,它使得它不清楚你想要得到什麼。 –

+0

我不認爲這是一個正確的腳本用例。應直接輸入公式並複製或使用數組公式,如果您希望它自動擴展。您收到的錯誤將只是許多的第一個。您的代碼存在一些問題,顯示對Google Apps腳本的理解不足。 – ScampMichael

+0

具體的錯誤是因爲Javascript解析器驚訝地看到'var'關鍵字後面的函數調用'result(i)',並且認爲它必須是新語句。但是因爲之前的語句('var')並不完整(如果後面跟着';'),它會檢測並報告錯誤。 – Mogsdad

回答

1

除了像那些在評論中指出了幾個JavaScript語法錯誤,最大的問題是,你正試圖在JavaScript中使用「= CONCATENATE」。它不是JavaScript函數,也沒有表單元格公式,只能在表單單元格內使用。您需要使用JavaScript函數或運算符(如var a= b + "x" + d)對代碼進行連接。這清除了它應該很容易編碼或谷歌它。你也使用result(i)顯然你想使用一個數組。在javascript中查找用於創建元素並將其添加到數組的正確語法。

相關問題