Excel动态地图可视化有五种方法:一、用内置地图图表功能(需Excel 365/2019+);二、Windows专属Power Map做3D动态地图;三、导出至Power BI实现高阶交互地图;四、使用第三方Excel地图模板;五、调用地理编码API自动获取经纬度并绘图。

如果您希望在Excel中将地理数据转化为直观的地图图表,但缺乏内置的动态地图功能,则可能是由于Excel版本不支持或数据格式不符合要求。以下是实现Excel动态地图可视化的多种方法:
本文运行环境:MacBook Air,macOS Sequoia。
一、使用Excel内置的“地图图表”功能
Excel 365 和 Excel 2019 及以上版本原生支持“地图图表”(Map Chart),可基于地理字段(如省、市、国家、邮政编码)自动生成填充地图,支持缩放、图例交互与数值颜色映射。
1、确保数据列包含可识别的地理实体名称(例如“北京市”“广东省”“New York”),且列为文本格式,无多余空格或括号。
2、选中包含地理字段和对应数值的数据区域(至少两列:地理位置列 + 数值列)。
3、点击【插入】选项卡 → 【图表】组 → 【推荐的图表】→ 切换至【所有图表】选项卡 → 选择【地图】类别 → 点击【填充地图】或【气泡地图】。
4、插入后,右键单击地图 → 【设置数据系列格式】→ 调整“分类间距”“图例项”及“颜色渐变规则”。
5、若地图显示为灰色或提示“无法识别位置”,请选中地理字段所在列 → 【数据】选项卡 → 【地理类型】→ 点击【国家/地区】或【省/自治区】以启用地理识别。
二、借助Power Map(3D地图,仅Windows)
Power Map 是 Excel for Microsoft 365(Windows)中集成的三维地理可视化工具,支持时间轴动画、多层叠加与高度维度,适用于带时间戳与经纬度的复合地理数据集。
1、确认已启用 Power Map:【插入】→ 【我的加载项】→ 搜索并添加“Power Map”(如未显示,需在Office账户中开启“分析”服务)。
2、整理数据表,必须包含经度列(Longitude)、纬度列(Latitude)或标准地理字段,以及至少一个数值列和可选的时间列(日期格式)。
3、选中数据区域 → 【插入】→ 【3D地图】→ 【打开3D地图】。
4、在3D地图窗口中,点击【图层窗格】→ 【添加字段】→ 将纬度拖入“纬度”,经度拖入“经度”,数值字段拖入“高度”或“大小”,时间字段拖入“时间播放器”。
5、点击【时间播放器】右上角齿轮图标 → 设置时间步长(如按月、按季度),然后点击播放按钮生成动态地理演变效果。
三、导出至Power BI进行增强地图可视化
当Excel原生功能无法满足分层钻取、实时更新或自定义底图需求时,可将清洗后的地理数据导入Power BI Desktop,利用其ArcGIS集成与自定义视觉对象实现高自由度动态地图。
1、在Excel中保存数据为.xlsx格式,确保地理字段列名清晰(如“城市”“销售额”“日期”),并删除合并单元格与空行。
2、打开Power BI Desktop → 【主页】→ 【获取数据】→ 【Excel】→ 选择该文件并导入对应工作表。
3、进入【报表视图】→ 从可视化窗格选择【地图】或【填充地图】视觉对象。
4、将地理字段拖入“位置”(如“城市”),数值字段拖入“值”,时间字段拖入“图例”或“工具提示”以支持悬停查看。
5、点击可视化右侧的“格式”图标 → 展开【地图样式】→ 选择“ArcGIS在线”并登录账户,即可加载卫星图、街道图等底图;勾选【启用缩放级别】后支持手动滚轮缩放。
四、使用第三方模板(无需插件)
部分公开共享的Excel地图模板采用条件格式+形状叠层+公式联动机制,在无高级功能的Excel版本(如Excel 2016基础版)中也能实现静态区域高亮与简易交互,适合快速汇报场景。
1、下载可信来源的中国省级/地市级地图模板(如GitHub或微软模板库中搜索“Excel China map template”)。
2、解压后打开.xlsm文件,确认宏已启用(【文件】→ 【选项】→ 【信任中心】→ 【宏设置】→ 启用所有宏)。
3、在指定数据输入表(通常命名为“Data”)中粘贴您的数值列,确保第一行为字段名(如“省份”“销量”),且省份名称与模板内置形状命名完全一致(如“广东省”不可写作“广东”)。
4、切换至地图工作表,观察各省份形状自动按数值着色;如未响应,点击【开发工具】→ 【宏】→ 运行名为“RefreshMap”或“UpdateColors”的宏。
5、如需添加新区域,右键任一省份形状 → 【编辑文字】→ 修改对应单元格链接公式,例如将=INDIRECT("Data!B"&MATCH("江苏省",Data!A:A,0))中的“江苏省”替换为实际目标名称。
五、调用Excel地理编码API(进阶自动化)
对于原始数据仅有地址文本(如“杭州市西湖区文三路398号”)而无经纬度的情况,可通过Excel内置WEBSERVICE函数配合免费地理编码API(如OpenStreetMap Nominatim)批量获取坐标,再驱动地图图表。
1、在空白列(如D2)输入以下公式以构造请求URL:="https://nominatim.openstreetmap.org/search?q="&SUBSTITUTE(SUBSTITUTE(A2," ","%20"),"/","%2F")&"&format=json&limit=1",其中A2为地址单元格。
2、在E2单元格使用WEBSERVICE函数获取JSON响应:=WEBSERVICE(D2)(需Excel 365或Excel 2021)。
3、使用FILTERXML函数提取经度与纬度:=FILTERXML(E2,"//lat") 和 =FILTERXML(E2,"//lon"),分别填入F2、G2。
4、将F列(纬度)、G列(经度)、H列(数值)三列选中 → 【插入】→ 【图表】→ 【地图】→ 【气泡地图】。
5、注意Nominatim服务要求添加User-Agent头信息,若返回错误,可在D2公式末尾追加参数:&"&email=yourmail@example.com",并确保邮箱真实有效。










