日常多城市业务报表、外勤台账、区域运营统计表中,经常需要同步各地实时天气,手动复制粘贴数据效率极低。本文分享一套完整 Excel 函数组合方案,无需复杂 VBA,通过多层函数嵌套即可自动抓取温度、湿度、天气状态,同时支持手动选择城市、IP 自动定位城市两种使用场景,轻松制作自动化个性化天气报表。
一、整体实现逻辑说明
整套天气查询功能分为三大输出项:温度、湿度、天气情况,分别对应 GetTemp、GetMoisture、GetWeather 三个专用函数,三个函数共用同一套核心参数:处理后的城市拼音、地区id、查询日期。
核心参数拆解:
- city:处理完成的纯拼音城市名(无声调、无空格、无标点)
- areaId:城市对应地区 ID,通过
GetWeatherCity函数获取 - date:待查询天气的目标日期
二、分步搭建手动选择城市天气查询功能
步骤 1:城市名称转无调纯拼音
使用拼音函数转换城市名称,type 参数设置为 256,输出不带声调拼音;转换后拼音自带空格,需要统一清理。
步骤 2:清洗拼音文本(去除空格、顿号、逗号)
两种清洗方案可选:
- SUBSTITUTE函数替换:Excel自带函数(旧版本支持)查找空格、标点并替换为空;
- 正则表达式 REGEX 匹配过滤:提取纯字母串,连接参数留空即可得到干净拼音,作为最终 city 参数。
步骤 3:获取城市地区 ID
将清洗完成的拼音传入 GetWeatherCity 函数,自动匹配对应地区 areaId,完成第二个参数准备。
步骤 4:绑定日期参数并输出天气数据
填入查询日期后,分别调用三类函数:
GetTemp:返回城市实时温度GetMoisture:返回空气湿度GetWeather:返回晴 / 雨 / 多云等天气状况
优化小技巧:下拉菜单选择城市
借助 Excel 数据验证制作城市下拉列表,多人分发报表、多分支机构统计时,直接点选城市即可刷新天气,适配多客户、多区域业务场景。
三、进阶方案:IP 自动识别城市,无需手动输入
若报表分发对象分散、城市不确定,可实现自动读取用户所在城市,无需手动选择,分两步完成:
- 获取用户网络 IP:使用
GetNetworkIP函数获取用户使用时的 IP 地址; - IP 解析城市:
GetCityfromIP函数解析 IP 对应城市,mode 参数留空 或 填 0,直接返回城市名称。
常见报错处理
IP 识别出的城市名称自带 “市”、“区”等 后缀,会导致天气函数查询失败,去除城市名称中“市”、“区”这样的后缀即可正常查询天气;演示案例中太原、香港均可正常返回温度、湿度、天气状态。
四、完整实操演示效果
- 手动选择城市:选择太原,返回 16℃、湿度 11%、天气晴;
- IP 自动定位:IP 识别为香港,返回 19℃、湿度 59%、天气晴;
所有数据实时联动更新,整套函数可直接嵌套整合,不用分步单独存储中间参数,简化表格结构。
五、职场应用价值
- 外勤、物流、区域销售报表自动匹配各地天气,辅助业务安排;
- 统一模板分发至各分公司,自动适配当地城市数据;
- 纯函数方案,门槛低,普通职场人无需编程基础即可上手;
- 可拓展至个性化运营报表、项目台账、行程统计表等多类 Excel 文档。
六、总结
这套 Excel 天气查询函数组合,兼顾手动选城市、IP 自动定位两种场景,通过拼音转换、正则清洗、专用天气函数三层逻辑,实现实时天气自动化查询。搭建完成后报表可自动刷新数据,告别手动录入天气信息,是提升职场 Excel 报表自动化能力的实用办公技巧。