技术求助:从格鲁吉亚国家银行导入美元兑拉里汇率至Google Sheets
从格鲁吉亚国家银行导入精准美元兑拉里汇率到Google Sheets的方案
方法一:直接抓取官网页面数据(IMPORTXML)
利用Google Sheets的IMPORTXML函数从官方汇率页面提取精准数据:
- 在目标单元格输入公式:
=IMPORTXML("https://nbg.gov.ge/en/monetary-policy/currency", "//td[text()='USD']/following-sibling::td[1]") - 说明:公式定位页面中标记为"USD"的表格单元格,抓取其右侧相邻单元格的汇率数值。若页面结构调整,需通过浏览器开发者工具重新获取目标元素的XPath路径。
方法二:使用官方API(更稳定)
格鲁吉亚国家银行提供公开的JSON格式汇率API,比网页抓取可靠性更高,需先添加自定义IMPORTJSON函数:
- 打开Google Sheets,点击「扩展程序」→「Apps脚本」
- 粘贴以下代码并保存:
function IMPORTJSON(url, query) { const response = UrlFetchApp.fetch(url); const data = JSON.parse(response.getContentText()); return traverseJson(data, query.split(".")); } function traverseJson(obj, keys) { let current = obj; for (const key of keys) { if (current[key] === undefined) return ""; current = current[key]; } return Array.isArray(current) ? current.map(item => [item]) : [[current]]; } - 返回Sheets,输入公式(需根据官方API结构调整查询路径,示例为获取USD汇率):
=IMPORTJSON("https://nbg.gov.ge/api/exchange-rates", "rates.0.rate")
- 提示:若API返回的汇率数组中USD不在第一个位置,可修改函数添加筛选逻辑,或参考官方API文档确认USD对应的索引/字段。
注意事项
- 网页抓取依赖页面结构,需定期验证XPath有效性;API方案稳定性更高,优先选择。
- 使用自定义函数时需授权脚本的网络访问权限。
- 可结合
=NOW()函数或设置Sheets自动刷新,确保数据实时更新。
内容的提问来源于stack exchange,提问作者Павел В
相关产品推荐
相关产品推荐

