Google 表格强大提示:创建自动更新的电子表格

2026-02-07 0 851

Google 表格强大提示:创建自动更新的电子表格

电子表格中跟踪基本数据非常简单——记住每天、每周或每月更新数据,这可能是个问题。 但是,既然可以利用一些简单的自动化工具,为什么还要手动更新呢?

这是创建自动更新 Google 表格的分步指南,它既可以从网络上抓取数据,也可以自动更新电子表格。 在此示例中,我们将使用“午餐时间的每日当地温度”,但可以轻松调整代码以获取和存储其他数据。

1. 创建一个 Google 表格电子表格
前往 Google 云端硬盘或 Google 表格并创建一个新的空白电子表格。 (如果您还没有 Google 帐户,可以在那里注册。)

为工作表命名任何你想要的,你就可以开始了。 (默认设置为“无标题电子表格”,但您可以单击它以将其更改为可以在您的文档列表中更好地识别它的内容。)

2. 找到您要抓取的网页部分的“XPath”
Google 表格需要一个“XPath”选择器来从网页中提取一部分数据。 幸运的是,有一个易于使用的点击工具可以帮助您做到这一点:SelectorGadget。 (网站上有一段不到 2 分钟的视频演示了它是如何工作的。)

安装 SelectorGadget Chrome 浏览器扩展程序,通过单击浏览器工具图标将其激活,然后单击要抓取的页面部分。 该部分将变为绿色。 诀窍是确保你只选择那个。 页面的其他区域也可能是绿色或黄色。 如果是,请单击要从选择中删除的那些。

在下图中,我访问了 Foundry 公司总部所在地马萨诸塞州尼达姆的国家气象局页面。 (Foundry 是 Computerworld 的母公司。)

这个页面很简单:我点击了温度,它是唯一选择的项目。 如果其他人显示为绿色或黄色,我会单击它们将其关闭,以确保我的 XPath 仅选择我需要的内容。

XPath 通常比 CSS 更复杂,但您不必担心所有表达式的含义。 一个关键点是 XPath 选择器将在您的 Google 表格公式中被双引号括起来。 不幸的是,选择器本身也有双引号。 这会导致问题,因此如果您的 XPath 包含双引号,请手动将它们全部更改为单引号。

我将在我的 Google 表格中使用的 XPath 选择器现在是

3. 添加你的公式
电子表格公式可以做的不仅仅是数学计算; 他们还可以从网页中提取数据。 对于 Google Sheet,读取网页部分内容的功能是:

=ImportXML(“URL”, “XPath 选择器”)

对于我的 National Weather Service Needham, MA 页面和温度选择器,这是

=IMPORTXML(“https://forecast.weather.gov/MapClick.php?lat=42.2803&lon=-71.2345”, “//*[contains(concat(‘ ‘, @class, ‘ ‘ ), concat( ‘ ‘ , ‘myforecast-current-lrg’, ‘ ‘ ))]”)

在我的电子表格的第一列中,我将列出我正在跟踪的位置。 这将使将来向我的工作表添加其他位置变得容易。 我会把公式放在第二列。

我想要 C 列中的日期和时间。我们稍后会处理。

4.写一个函数来获取和存储数据
当前设置电子表格的方式,不会保存温度; 每次打开工作表时它都会改变。

为了保持工作表当前设计的历史数据,我需要在每次打开它时手动将值复制并粘贴到另一个单元格中。 这不是很可扩展! 相反,让我们创建一个新函数来 1) 找到工作表中的第一个空行和 2) 将单元格 B2 中的值复制到另一个空单元格中进行存储。

为了存储数据,我们需要创建一个电子表格函数。 前往 Extensions > Apps Script 为电子表格创建函数。

第一行代码为任何活动的电子表格创建一个变量,然后是一个保存该工作表第一个空行编号的变量。

为了在表格单元格中读取或写入数据,该单元格需要是范围对象。 幸运的是,使用 yourSheetObject.getRange() 可以轻松地将电子表格的单元格位置转换为单元格范围对象。 在这个例子中,我将我的工作表对象命名为 sheet(你可以随便叫它),所以代码是 sheet.getRange()。 getRange 采用多种格式来标识单元格位置,包括用于第 3 行、5 列的 getRange(3,5) 或用于传统电子表格单元格语法(如 B2)的 getRange(“B ” + 2)。

考虑到这一点,我可以使用 sheet.getRange(2, 2) 创建一个变量来保存单元格 B2 的单元格范围,即第 2 行和第 2 列,我知道我当前的温度所在的位置。 然后我使用 get.Value() 读取该值,如您在上面的代码中所见。

接下来在该代码块中,我在 B 列中找到第一个空行,我想在其中添加新温度,并将该单元格另存为范围对象。 然后只需用我刚刚存储的温度设置该单元格的值即可。

最后几行执行类似于存储当前日期和时间以及硬编码位置的操作。

有很多方法可以使这段代码更紧凑,但我分享了一个详细的版本,以便更容易看到发生了什么。 在最后一行中,我通过在一行代码中组合 getRange 和 setValue 来稍微加强它,而不是创建一个单独的变量来保存单元格范围。 使用您喜欢的任何语法。

通过单击功能代码上方的软盘图标来保存它。 您可能希望将默认项目名称更改为其他名称。 我将我的命名为“午餐时间温度”。

您可以通过单击“运行”按钮来测试您的脚本,以查看电子表格中发生的情况。 如果一切顺利,您将获得包含当前温度的新数据行。

5.安排你的功能自动运行
最后一块:安排您的功能自动运行。 为此,请单击左侧的时钟图标以打开显示当前项目触发器的脚本仪表板。 (目前还没有。)您可能会被要求先在您的 Google 帐户中对此进行授权。

如果您希望电子表格按特定计划更新,请将事件源从“从电子表格”更改为“时间驱动”,然后选择您希望它每小时、每天、每周、每月或其他选项运行。

然后,瞧! 自动收集和存储数据的自我更新电子表格。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 Google 表格强大提示:创建自动更新的电子表格 https://www.zuozi.net/54815.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务