做wps省市二级联动,先把每个省对应的城市区域,命名成和省名完全一样的名字。省份列设成普通序列,城市列直接用indirect读取当前行的省份就行。这次演示只放江苏的南京、苏州,以及浙江的杭州、宁波,示范命名区域与相对行引用的用法。切换省份之后原来选的城市不会自动清空,必须手动重新选择并核对;自定义的名称不能随意带空格,也不能和单元格地址冲突,后续扩展城市选项后也要同步检查命名范围,不能只往列表旁边加字就完事。
建立省份与城市清单,标题不放进城市范围
D2:D3写江苏、浙江,E1写江苏、E2:E3放南京、苏州,F1写浙江、F2:F3放杭州、宁波。A列录省、B列录市,省市基础清单就放在表格右侧,先核对归属关系与名称拼写;每个城市区域这里只含两项,不要把省名标题算进城市可选范围里。

定义两个名称,让文字和省份完全一致
选E2:E3,在名称框输入江苏并回车;选F2:F3输入浙江并回车。打开名称管理器核对,江苏引用 =$E$2:$E$3、浙江引用 =$F$2:$F$3,作用域为工作簿。要是省份下拉选项写江苏省而名称写江苏,就没法按原文字找到同名区域,联动直接失效。

一级省份列用固定来源,先选择江苏
选A2:A10,在数据有效性把允许设序列,来源 =$D:$D,勾提供下拉箭头后确定,再在A2选江苏。这里打开的是规则设置窗口,后续城市来源会读取当前行A列的内容;省份文字要与已定义名称逐字一致。
{"answer":"协助 macOS 用户准备、转换、导出及排查 Word、PDF、Markdown、PowerPoint 和 Excel 文件,确保 WPS Office 工作流程可靠。"}

二级城市列用 INDIRECT,固定列不固定行
选B2:B10,以B2为活动格,序列来源输入 =INDIRECT($A2),确定。A列固定、行号随行变化,所以B3应跟随A3联动;省份空白时来源暂时无效,先选省份再测试效果,不要把所有城市行都锁定到$A$2。

切到浙江后重新选城市,再核对新增行
把A2改浙江,B2旧值南京不会自动消失,先清空再从二级下拉选杭州或宁波。操作完B2已重新选杭州,A3选江苏、B3选苏州,说明两行独立联动;新增城市后还要更新命名范围。核对完所有省市配对后保存省市选择.xlsx就完成了。

















