【问题标题】:Update cell value everytime active cell changes row每次活动单元格更改行时更新单元格值
【发布时间】:2018-08-08 06:30:04
【问题描述】:
我正在使用这个公式来获取当前行的productID
=index(B:B,row())
来自:
Get value of specific column in current row?
它似乎有效,但似乎每次单元格从一行移动到另一行时单元格都不会刷新。
我想要的是,例如当前活动单元格在第 7 行。输入该公式的单元格值将是 B7。如果我移动/单击到第 10 行,单元格值应该是 B10,依此类推...
单独使用该公式会使单元格值与 B1 相同并且不会改变。
有没有办法在每次活动单元格更改时更新该单元格值?
谢谢
【问题讨论】:
标签:
google-apps-script
google-sheets
【解决方案1】:
onSelect 不是有效的trigger function,因此您不能编写替换给定单元格内容的函数。
您可以做的是创建一个菜单功能来执行此操作,例如
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet()
.addMenu('Updater', [{name:"Use Current Row", functionName:"updateRow"}]);
}
function updateRow() {
var cellToUpdate = "A1";
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Get the row in which the cursor is active.
var newRow = sheet.getActiveCell().getRow();
sheet.getRange(cellToUpdate).setFormula("= .... ");
}
然后,当您在新行中选择了一个单元格时,您会激活帮助菜单功能以将更新后的公式写入您想要的单元格中。