【问题标题】:How to update one calculated column value or vice-versa?如何更新一个计算的列值,反之亦然?
【发布时间】:2021-04-25 10:15:36
【问题描述】:
我正在使用 Google 电子表格创建一个只有两列的转换器,如下所示:
+--------+-------------+
| Meters | Centimeters |
+--------+-------------+
| 1 | 100 |
| 2 | 200 |
+--------+-------------+
当我为米写一个值时,它应该写厘米,反之亦然:如果我写在厘米列中,它应该更新米值。
这可能吗?
【问题讨论】:
标签:
google-apps-script
google-sheets
google-sheets-formula
google-sheets-api
【解决方案1】:
我相信你的目标如下。
- 将值放入“A”列时,您希望通过转换“A”列的值将值放入“B”列。
- 将值放入“B”列时,您希望通过转换“B”列的值将值放入“A”列。
在这种情况下,我认为当使用 OnEdit 触发器时,您的目标也许可以实现。示例脚本如下。
示例脚本:
请将以下脚本复制并粘贴到脚本编辑器并保存。而且,为了运行脚本,请在“A”或“B”列中输入一个值。这样,脚本就会由 OnEdit 触发器自动运行。
function onEdit(e) {
const sheetName = "Sheet1"; // Please set the sheet name you want to use.
const range = e.range;
if (range.getSheet().getSheetName() != sheetName) return;
const value = range.getValue();
if (range.columnStart == 1) {
range.offset(0, 1).setValue(value * 100);
} else if (range.columnStart == 2) {
range.offset(0, -1).setValue(value / 100);
}
}
结果:
使用上述脚本时,得到如下结果。
参考资料: