You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets能否实现单元格双向输入联动计算?

Google Sheets 双向联动 Ullage 计算器实现方案

为什么公式搞不定?

直接用单元格公式没法实现双向联动——输入B3要更新B4、输入B4要更新B3的逻辑会触发循环引用错误,必须靠Google Apps Script(脚本编辑器)来处理。

具体实现步骤

1. 打开脚本编辑器

打开你的Google Sheets文档,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑界面。

2. 替换默认代码

删掉编辑器里的默认代码,粘贴下面这段脚本:

function onEdit(e) {
  const sheet = e.source.getActiveSheet();
  const editedCell = e.range;
  const c5Value = sheet.getRange("C5").getValue();
  
  // 避免C5为空或0时出现计算错误
  if (c5Value === 0 || c5Value === "") return;

  // 编辑B3时自动更新B4
  if (editedCell.getA1Notation() === "B3") {
    const b3Val = editedCell.getValue();
    sheet.getRange("B4").setValue(b3Val / c5Value);
  }
  // 编辑B4时自动更新B3
  else if (editedCell.getA1Notation() === "B4") {
    const b4Val = editedCell.getValue();
    sheet.getRange("B3").setValue(b4Val * c5Value);
  }
}

3. 保存并授权

点击编辑器顶部的「保存」按钮,给脚本起个名字(比如「Ullage联动计算器」)。首次运行会弹出授权提示,跟着提示完成授权即可,需要允许脚本访问你的表格数据。

4. 保留原有公式

确保以下公式没有改动:

  • C5:=B5/1000
  • D3:=B3/C5
  • D4:=B4*C5

测试效果

  • 先在B5输入一个值(比如1000,此时C5会自动变成1)
  • 输入B3为5,B4会自动更新为5,D3和D4同步显示5
  • 输入B4为10,B3会自动更新为10,D3和D4同步显示10

注意事项

  • 脚本只在你手动编辑B3/B4时触发,自动计算的单元格变化不会触发脚本
  • 如果B5是空值或者0,脚本会暂停执行,避免出现除以0的错误
  • 要是你有多个工作表,需要把脚本里的const sheet = e.source.getActiveSheet();改成const sheet = e.source.getSheetByName("你的工作表名称");,指定生效的工作表

内容的提问来源于stack exchange,提问作者Aixzera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 21:45:12