gpt4 book ai didi

javascript - 在 Google 电子表格中,当用户单击并激活某个单元格后,如何根据另一个单元格的值设置一个单元格的值?

转载 作者:行者123 更新时间:2023-12-03 11:39:47 24 4
gpt4 key购买 nike

我在 Google 电子表格中,我知道如何创建新的菜单项,但如何使用 Google 电子表格应用脚本代码执行以下操作:

If in cell A2, I click a menuitem "SetValue", then A2's cell value is set with value from A1.
If in cell B2, I click a menuitem "SetValue", then B2's cell value is set with value from B1.
If in cell C2, I click a menuitem "SetValue", then C2's cell value is set with value from C1.
... (and so forth and so on)

请记住,在启动菜单项功能之前,用户可以随机单击第 2 行中的任何单元格。

最佳答案

这是 @teatimer 的另一个答案中显示的函数的另一个版本,适用于所有列。我本来可以在评论中写下这个,但是很难阅读,所以......

function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getActiveCell();
var row = cell.getA1Notation().replace(/[^0-9]/g,'');// keep only numeric values
var column = cell.getA1Notation().replace(/[0-9]/g,'');//remove all numeric characters
Logger.log('row '+row+' column '+column);
if (row != '2') { // row is a string, you must add quotes to get an equal condition
ss.toast("not valid selection, must be in row 2");
return;
}
var sourceVal = ss.getRange(column+(row - 1)).getValue();
cell.setValue(sourceVal);
}

您还可以使用另一种形式的正则表达式来获得相同的结果:

  var row = cell.getA1Notation().replace(/\d/g,'');// remove non decimal values
var column = cell.getA1Notation().replace(/\D/g,'');//remove decimal values

关于javascript - 在 Google 电子表格中,当用户单击并激活某个单元格后,如何根据另一个单元格的值设置一个单元格的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332257/

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