我在 Excel 的 A 列中有一个公司列表。我一直在手动谷歌搜索每家公司,并将地址复制并粘贴到 B 列中,但一定有更好的方法吗?
以下是我迄今为止尝试过的方法:
我在 B 列创建了一个连接超链接,单击时会打开一个浏览器窗口,该窗口会在 Google 地图上运行 API 调用来显示地址:
=HYPERLINK(CONCATENATE("https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=",[@Organisation],"&inputtype=textquery&fields=formatted_address&key=XXXXXXXX"),"link")
我仍然需要单击链接并复制并粘贴结果,一定有一种方法可以让这个 API 针对 A 列中的所有组织自动运行(在查询中格式化为 [@Organisation],因为这是表列名)并将结果填充到 B 列中?
答案1
FILTERXML
作为一个公式,如果您在 Windows 下使用和函数运行WEBSERVICE
,则可以使用:
=FILTERXML(WEBSERVICE(CONCATENATE("https://maps.googleapis.com/maps/api/place/findplacefromtext/xml?input=",[@Organization],"&inputtype=textquery&fields=formatted_address&key=xxxxx")),"//formatted_address")
如果您没有这些函数,您可以使用字符串函数来解析 json 或 xml 字符串。