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

如何制作Google Sheet仪表盘图表展示IoT设备提交的最新数据?

嘿,这个需求我之前帮朋友实现过,用Google Apps Script确实是最靠谱的解决方案!核心思路很简单:咱们绕开图表不能选动态范围的限制,专门用一个固定单元格来同步最新的温度值,再让仪表盘图表指向这个单元格就行。下面给你一步步拆解实现步骤:

1. 准备工作:预留固定单元格

先在你的表格里找个不影响原始数据的固定位置,比如Sheet1的D1单元格(随便选,只要你记得住就行),这个单元格专门用来存放最新的温度值。

2. 编写Google Apps Script代码

打开你的Google Sheet,点击顶部菜单的「扩展程序」→「Apps Script」,进入脚本编辑器后,替换默认的myFunction为下面的代码:

function syncLatestTemp() {
  // 替换成你的工作表名称,比如"温度数据"
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  const lastRow = targetSheet.getLastRow();
  
  // 跳过表头行(假设第一行是表头),如果没有表头可以去掉这个判断
  if (lastRow < 2) return;

  // 假设温度值存在B列(A列是时间戳),根据你的实际列调整数字:A=1,B=2,C=3...
  const latestTempValue = targetSheet.getRange(lastRow, 2).getValue();

  // 将最新温度写入固定单元格D1,改成你预留的单元格位置
  targetSheet.getRange("D1").setValue(latestTempValue);
}
3. 设置自动触发条件

脚本写好后,得让它在有新数据进来时自动运行:

  • 在脚本编辑器顶部,点击「编辑」→「当前项目的触发器」
  • 点击右下角的「添加触发器」,按以下设置:
    • 选择函数:syncLatestTemp
    • 选择部署类型:「Head deployments」
    • 事件源:「从电子表格」
    • 事件类型:「修改」(这个会在表格有任何修改时触发,包括新增行)
    • 点击「保存」,授权脚本访问你的表格权限即可。
4. 配置仪表盘图表

回到Google Sheet,插入仪表盘图表:

  • 点击「插入」→「图表」,在图表类型里选择「仪表盘」
  • 在右侧的图表编辑器中,设置「数据范围」为你预留的固定单元格,比如Sheet1!D1
  • 调整仪表盘的刻度、颜色、标签等样式,符合你的需求。
额外优化建议
  • 如果IoT设备是批量新增多行数据,担心触发不及时,可以改成时间驱动触发器:比如每隔5秒运行一次syncLatestTemp函数,确保最新数据能及时同步。
  • 可以加个空值判断,避免空数据覆盖固定单元格:在写入前加if (latestTempValue !== "") { ... }
  • 如果有多台IoT设备,给每个设备分配一个专属的固定单元格,就能同时展示多个仪表盘了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:35:13