gpt4 book ai didi

javascript - SpreadSheetApp 使用 JS 将值附加到特定单元格

转载 作者:行者123 更新时间:2023-12-01 00:49:00 27 4
gpt4 key购买 nike

我想创建一个函数来在电子表格的特定单元格中附加(或编辑)值;例如,如果名称为“Amirhossein”且月份为“Jan”,请将值 x 附加到项目列的现有单元格中。

第一个状态:

before calling function

调用 f("Amirhossein", "Jan", "x") 后应该是这样的:

after calling function

使用下面的代码,将在我的工作表中添加一个新行:

SpreadsheetApp.openById("myId").getSheetByName("mySheet").appendRow(["Amirhossein", "Jan", "x"]);

但我想将这两列(名称和月份)视为我的表的主键。

最佳答案

  • 您想要在“A”列和“B”列的值为 AmirhosseinJan 的行的“C”列添加 x 通过运行 f("Amirhossein", "Jan", "x")
    • 如果“C”列的值为 a, b,您需要像 a, b, x 一样添加 x
  • 您希望使用 Google Apps 脚本来实现此目的。

如果我的理解是正确的,这个示例脚本怎么样?请将此视为多个答案之一。

示例脚本:

使用此脚本时,请将其复制并粘贴到Spreadsheet容器绑定(bind)脚本的脚本编辑器中,并设置Spreadsheet ID和sheet名称,然后运行run()。这样,在“A”列和“B”列的值为 AmirhosseinJan 的行处,将 x 添加到“C”列的值.

function f(v1, v2, v3) {
var spreadsheetId = "myId"; // Please set Spreadsheet ID.
var sheetName = "mySheet"; // Please set sheet name.

var ss = SpreadsheetApp.openById(spreadsheetId)
var sheet = ss.getSheetByName(sheetName);
var values = sheet.getRange(2, 1, sheet.getLastRow() - 1, 3).getValues();
var updatedValues = values.map(function(e) {return [e[0] == v1 && e[1] == v2 ? (e[2] ? e[2] + ", " + v3 : v3) : e[2]]});
sheet.getRange(2, 3, updatedValues.length, updatedValues[0].length).setValues(updatedValues);
}

// Please run this.
function run() {
f("Amirhossein", "Jan", "x");
}

注意:

  • 根据您问题中的脚本,在示例脚本中,我使用了 openById()getSheetByName()

引用文献:

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

关于javascript - SpreadSheetApp 使用 JS 将值附加到特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57136745/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com