如何从一张工作表中获取Google Spreadsheet中的数据行,并预先填充另一张工作表

时间:2017-05-18 05:16:18

标签: javascript excel google-apps-script google-sheets

所以,我一直在尝试开展一项业余爱好/商业活动,我开始坐下来使用Google Spreadsheets来记录我的所有原材料/库存以及每个“单位”成本在配方中的使用量。 INGREDIENTS Sheet (main datasource)

成分页面列出了我的所有库存,是创建新配方的主要数据源和成本分析。 The recipe sheet should be dynamically populated, and be able to add more rows

我只是希望能够填充配料表,然后只需为新配方创建新工作表,这样我就可以跟踪我有多少库存,以及新批次的成本。

所以,为了简化我的问题:

** 1。如何点击按钮并添加一个新的“行”,其中包含填充在列中的成分?

  1. 如何使用成分数据填充的下拉列表填充每个配方字段?**

1 个答案:

答案 0 :(得分:0)

我认为这足以让你入门。您需要单击图像,然后有一个下拉列表来分配脚本。分配脚本addNew。然后打开脚本编辑器并创建如下所示的函数。

function addNew() {
  var sheet = SpreadsheetApp.getActiveSheet();

  var lastRow = sheet.getLastRow() + 1;
  var ingredientCol = 3;

  //you will want to pull these values from your other sheet
  //check here for documentation:
  //https://developers.google.com/apps-script/reference/spreadsheet/data-validation-builder
  var ingredients = ['pepper', 'salt', 'sugar']; 

  var rule = SpreadsheetApp.newDataValidation()
    .requireValueInList(ingredients, true);

  sheet.getRange(lastRow, ingredientCol).setDataValidation(rule);
}

我分享了我正在测试的文件。只需打开脚本编辑器即可查看代码。 https://docs.google.com/spreadsheets/d/1EowRjZeRxIy18ZyMekehc976AlTcx4tmfWeEDis79hc/edit?usp=sharing