前言:同事正好需要一个这样的地址类型给用户使用下载模板,改好地址再导入,这样就不会出现地址不匹配问题。所以就自己也整理了一套,以备不时之需。

效果展示

图一:省级

图二:市级

图三:区级

图四:各乡镇

当更换一级菜单时二、三、四级会提示更新级联选项,否则提示错误。依次类推,二级改变时,三、四级提示错误

首先,要实现上面效果,需要二大部:

第一部:准备做级联的数据源;(主要就是看你的数据来源,是通过数据库还是其它)

第二部:excel函数及规则应用;(主要使用OFFSET, MATCH, CONTIF),即可实现上面效果。

在使用上面excel函数之前,首先要熟悉一下几个函数的作用,如果已经知道可忽律

OFFSET(reference,rows,cols,height,width)
Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。
Rows相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height高度,即所要返回的引用区域的行数。Height 必须为正数。不可为负
Width宽度,即所要返回的引用区域的列数。Width 必须为正数。不可为负
offset 在汇编中可以获得操作数的偏移地址。用法: MATCH(lookup_value, lookup_array, match_type)
lookup_value:需要在数据表(lookup_array)中查找的值。可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。可以包含通配符、星号 (*) 和问号 (?)。星号可以匹配任何字符序列;问号可以匹配单个字符。
lookup_array:可能包含有所要查找数值的连续的单元格区域,区域必须是某一行或某一列,即必须为一维数据,引用的查找区域是一维数组。
match_type:表示查询的指定方式,用数字-1、0或者1表示,match_type省略相当于match_type为0的情况。
为1时,查找小于或等于lookup_value的最大数值在lookup_array中的位置,lookup_array必须按升序排列:否则,当遇到比lookup_value更大的值时,即时终止查找并返回此值之前小于或等于lookup_value的最大数值的位置。
为0时,查找等于lookup_value的第一个数值,lookup_array按任意顺序排列:
为-1时,查找大于或等于lookup_value的最小数值在lookup_array中的位置,lookup_array必须按降序排列。利用MATCH函数查找功能时,当查找条件存在时,MATCH函数结果为具体位置(数值),否则显示#N/A错误。
注:当所查找对象在指定区域未发现匹配对象时将报错!
建议使用match方法同时使用 On Error Resume Next;或者 On Error goto 100 语句。 HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)(HLOOKUP函数是Excel等电子表格中的横向查找函数,它与LOOKUP函数和VLOOKUP函数属于一类函数,HLOOKUP是按行查找的,VLOOKUP是按列查找的。)
Lookup_value为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
Row_index_num为table_array 中待返回的匹配值的行序号。Row_index_num 为 1 时,返回 table_array 第一行的数值,row_index_num 为 2 时,返回 table_array 第二行的数值,以此类推。如果 row_index_num 小于 1,函数 HLOOKUP 返回错误值#VALUE!;如果 row_index_num 大于 table_array 的行数,函数 HLOOKUP 返回错误值 #REF!。
Range_lookup为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为TURE或者1,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
如果 range_lookup 为 FALSE或0,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值#N/A。如果range_lookup 省略,则默认为近似匹配。
表格或数值数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)的首行查找指定的数值,并在表格或数组中指定行的同一列中返回一个数值。当比较值位于数据表的首行,并且要查找下面给定行中的数据时,请使用函数 HLOOKUP。当比较值位于要查找的数据左边的一列时,请使用函数 VLOOKUP。 HLOOKUP 中的 H 代表“行”。

通过上述相关知识点,我们来操作实现省一级菜单

省一级

excel--公式--定义名称(或CTRL+F3)

由第一部分我们可以看到,A列为省份,所以,我们的引用位置使用A列,确定。

之后则使用,我们选择A2单元格使用一级菜单(数据--数据有效性)

到这里,我们一级菜单制作完成。

市二级

类似第一步省一级,先制作函数后使用:

区三级

各乡镇四级

完成上述操作。那么级联已经完成。

下面是当上一级改变时,后续级联地址提示错误

然后再点击【格式】

确认,完成。这样就二级就应用了一级改变二级提示错误,后面依次类推。

祝顺利完成

excel省市区三级分类级联的更多相关文章

  1. Java一次返回中国所有省市区三级树形级联+前端vue展示【200ms内】

    一.前言 中国省市区还是不少的,省有34个,市有391个,区有1101个,这是以小编的库里的,可能不是最新的,但是个数也差不了多少. 当一次返回所有的数据,并且还要组装成一个三级树,一般的for,会循 ...

  2. PHPOffice/PHPExcel生成省市区三级联动的excel表格

    最近公司需要用到一个省市区三级联动的excel表格,但是数据都在数据库,又太多,人工不好制作,就让我这个phper来帮忙啦. 主要用到的是excel的定义名称,数据验证.其中数据验证的列表只能是一列或 ...

  3. [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果

    [C#]使用 C# 代码实现拓扑排序   目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...

  4. 夜深了,写了个JQuery的省市区三级级联效果

    刚刚练手的JQuery,希望大神们指正 主要实现以下功能: 1.三级菜单级联加载数据 2.可以在不操作脚本的情况下,给元素加属性实现级联功能 3.自定义动态显示数据 咨询问题: 对于一般比较固定不变的 ...

  5. 【转】纯JS省市区三级联动(行政区划代码更新至2015-9-30)

    本文代码实现的功能是省市区三级联动下拉列表,纯Javascript,网上已有很多这方面的代码.但是作为一个新手,这是我的第一篇CSDN博客,发此文的目的主要是学习交流,希望看到的朋友发现有什么不对的地 ...

  6. JS实现年月日三级联动+省市区三级联动+国家省市三级联动

    开篇随笔:最近项目需要用到关于年月日三级联动以及省市区三级联动下拉选择的功能,于是乎网上搜了一些做法,觉得有一些只是给出了小的案例或者只有单纯的js还不完整,却很难找到详细的具体数据(baidu搜索都 ...

  7. 【JavaScript&jQuery】省市区三级联动

    HTML: <%@page import="com.mysql.jdbc.Connection"%> <%@ page language="java&q ...

  8. jQuery省市区三级联动插件

    体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...

  9. 省市区三级联动 pickerView

    效果图 概述 关于 省市区 三级联动的 pickerView,我想大多数的 iOS 开发者应该都遇到过这样的需求.在遇到这样的需求的时候,大多数人都会觉的这个很复杂,一时无从下手.其实真的没那么复杂. ...

随机推荐

  1. Storm-源码分析-Stats (backtype.storm.stats)

    会发现, 现在storm里面有两套metrics系统, metrics framework和stats framework 并且在所有地方都是同时注册两套, 貌似准备用metrics来替代stats, ...

  2. 如何查看电脑最大支持多少GB内存

    第一种方法: 1.打开“开始”菜单,点击“运行”按钮,也可以直接使用[Win + R]组合快捷键打开, 在弹出来的窗口输入“CMD”,然后确定或者按下回车键 2.在命令窗口输入“wmic memphy ...

  3. 聚币网API[Python3版]

    代码 #!/usr/bin/env python # -*- coding:utf-8 -*- import hashlib import requests import time import ur ...

  4. 前端开发 - CSS - 总结

    CSS:层叠样式表(Cascading Style Sheets) 1.css的特征2.css的引入3.选择器4.伪类选择器5.伪元素选择器6.字体样式 文本样式 背景属性7.盒模型 border m ...

  5. post 传递参数中包含 html 代码解决办法,js加密,.net解密

    今天遇到一个问题,就是用post方式传递参数,程序在vs中完美调试,但是在iis中,就无法运行了,显示传递的参数获取不到,报错了,查看浏览器请求情况,错误500,服务器内部错误,当时第一想法是接收方式 ...

  6. HDFS 手写mapreduce单词计数框架

    一.数据处理类 package com.css.hdfs; import java.io.BufferedReader; import java.io.IOException; import java ...

  7. BBS项目部署

    1.准备 项目架构为:LNM+Python+Django+uwsgi+Redis   (L:linux,N:nginx,M:mysql) 将bbs项目压缩上传到:  /opt 在shell中直接拖拽 ...

  8. 【云安全与同态加密_调研分析(3)】国内云安全组织及标准——By Me

    ◆3. 国内云安全组织及标准◆ ◆云安全标准机构(主要的)◆ ◆标准机构介绍◆ ◆相关标准制定◆ ◆建立的相关模型参考◆ ◆备注(其他参考信息)◆ ★中国通信标准化协会(CCSA) ●组织简介:200 ...

  9. SQL Server扩展事件-- 使用system_health默认跟踪会话监控死锁

    SQL Server扩展事件(Extended Events)-- 使用system_health默认跟踪会话监控死锁 转自:http://blog.51cto.com/ultrasql/160037 ...

  10. python学习笔记(二十七)多线程与多进程

    线程是程序里面的最小执行单元. 进程是资源的集合. 线程是包含在一个进程里面,一个进程可以有多个线程,一个进程里面默认有一个主线程.由主线程去启动子线程. 1.多线程 import threading ...