如何检测谷歌表格中ARRAYFORMULA生成的IMAGE图片是否有效
Google Sheets 检测IMAGE函数图片是否成功加载的实现方法
方案1:自定义函数(准确率最高,推荐)
你可以通过Google Apps Script写自定义函数来检测图片URL的可访问性,返回True/False结果:
- 打开目标表格,点击顶部菜单栏「扩展程序」>「Apps 脚本」
- 清空编辑器内默认代码,粘贴以下代码:
function CHECK_IMAGE(url) { try { const response = UrlFetchApp.fetch(url, {muteHttpExceptions: true}); return response.getResponseCode() === 200; } catch (e) { return false; } }
- 保存项目,给项目任意命名,按提示授权脚本访问权限即可
- 回到表格,在C2单元格输入公式即可自动扩展到所有行:
=ARRAYFORMULA(IF(B2:B25="",,CHECK_IMAGE("https://www.roadpics.net/Serie38/Images/photo" & A2:A25 & ".jpg")))
注:此处默认你原B列公式里的B2:B25是笔误,实际拼接用的是A列的随机数,如果确实是用B列其他值,把公式里的A2:A25替换为对应列即可。
方案2:无脚本简易方案(仅检测URL格式,准确率较低)
如果不想使用自定义脚本,可以用以下公式粗略判断,仅能识别URL格式错误的情况,无法识别网络不通、资源不存在的问题:=ARRAYFORMULA(IF(B2:B25="",,ISURL("https://www.roadpics.net/Serie38/Images/photo" & A2:A25 & ".jpg")))
内容的提问来源于stack exchange,提问作者Matan Arie
相关产品推荐
相关产品推荐

