簡體   English   中英

使用 importxml 在 Google 表格中創建每日投資組合跟蹤器

[英]Create a daily portfolio tracker in Google Sheet, with importxml

我正在嘗試在 Google 表格中跟蹤某些股票的每日股票價值和日期。 目前,數據捕獲代碼運行良好,但每次發生更改時都會用新值替換所有值。 在 A2 中,我有一個基於 IMPORTXML 的單元格,它從 Morningstar 獲取日期,在 B2 上,基於 SUBSTITUTE(SUBSTITUTE(importxml(CONCATENATE...),它從 FT 獲取每日值。

我的腳本代碼現在顯示如下:

function saveData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet2")

  var current_date = sheet.getRange('Tracker!A2').getValues();
  var current_value = sheet.getRange('Tracker!B2').getValues();

  sheet.appendrow([current_date, current_value]);

Tracker 是頁面的名稱。 運行代碼告訴我無法從 null 獲取范圍。 請問是什么問題?

這個答案怎么樣?

修改點:

  • 在您的腳本中,使用了 3 個工作表名稱,即“sheet1”、“sheet2”和“Tracker”。 sssheet分別是“sheet1”和“sheet2”的工作表 object。 並且, current_datecurrent_value分別從“Tracker”表上的“A2”和“B2”中檢索。
    • 在這種情況下,我認為Running code tells me that I cannot getRange from null. 是“sheet2”的工作表名稱的工作表可能不包含在您的電子表格中。
    • 但是,在您的腳本中, sheet.appendrow([current_date, current_value]); 用來。 所以你想把值放到“sheet2”或其他工作表的工作表中嗎? 關於這一點,我無法從你的問題中理解。
  • 當您要使用appendrow時,請修改為appendRow
  • 在您的腳本中,由getValues()檢索到的二維數組用作[current_date, current_value]的值。 在這種情況下,即使將appendrow修改為appendRow ,也會將[Ljava.lang.Object;@###之類的值放入單元格中。
  • 如果要從工作表“Tracker”上的“A2”和“B2”單元格中檢索值,並希望將檢索到的值 append 到工作表中,則可以使用Tracker:A2:B2作為范圍。

當以上幾點反映到您的腳本時,它變成如下。

修改后的腳本:

請將目標工作表名稱設置為sheetName

function saveData() {
  var sheetName = "###";  // Please set the destination sheet name.

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var value = ss.getRange('Tracker!A2:B2').getValues();
  ss.getSheetByName(sheetName).appendRow(value[0]);
}

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM