【问题标题】: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);
      }
    }
    

    结果:

    使用上述脚本时,得到如下结果。

    参考资料:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多