首页 > 解决方案 > 每次按“记录”按钮时如何在新行上记录动态值?也是每小时自动?

问题描述

因此,当我按下“记录”按钮时,我希望 Google 表格自动将新行添加到这张名为“HISTORY_1”的表格中,并将当前值导入到这张表格的第一行。这些值是通过 API 导入的,但在这个虚拟文件中,为了简单起见,我只使用 GOOGLE FINANCE。还应在第一列添加日期。

我该怎么做呢?使用脚本编辑器还是有更简单、更清洁的方法来做到这一点?

还有可能让谷歌表格每小时或任何其他时间段更新这些值并将它们记录到一个新行中,这样我就不必每小时左右打开文件并自己这样做?

这是一个包含一些虚拟数据的文件:

https://docs.google.com/spreadsheets/d/1ExXtmQ8nyuV1o_UtabVJ-TifIbORItFMWjtN6ZlruWc/edit?usp=sharing

编辑:我做到了!谢谢

标签: google-apps-scriptgoogle-sheets

解决方案


function getSheetWithName(name) {
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
      for (var idx in sheets) {
        if (sheets[idx].getName() == name) {
          return sheets[idx];
        }
     }
      return null;
    }
    
function RECORD_HISTORY() {
      var historySheetName = "HISTORY_2";
      var historySheet = getSheetWithName(historySheetName);
      if (historySheet == null) {
        historySheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(historySheetName, 1);
      }
      
      //setupHistoryHeader(historySheet)
      
      range = historySheet.getRange(2, 1, 1, 20);
      var values = range.getValues();
      values[0][0] = new Date();
      historySheet.appendRow(values[0]);
    }

推荐阅读