问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何制作Excel一级,二级,三级及多级下拉菜单

发布网友 发布时间:2022-04-22 23:55

我来回答

4个回答

懂视网 时间:2022-04-18 11:11

作业二:多级菜单

(1)三级菜单

(2)可以次选择进入各子菜单

(3)所需新知识点:列表、字典

要求:输入back返回上一层,输入quit退出整个程序

本示例的三级菜单是一个yaml文件格式,格式如下:

香港:
 香港
澳门:
 澳门
台湾:
 台湾
钓鱼岛:
 钓鱼岛
北京市: - 市辖区 - 东城区 - 西城区 - 崇文区 - 宣武区 - 朝阳区
河北省: - 石家庄市:- 长安区- 桥东区- 桥西区- 新华区 - 唐山市:- 路南区- 路北区- 古冶区- 开平区 - 秦皇岛市:- 海港区- 山海关区
山西省: - 太原市:- 小店区- 迎泽区- 杏花岭区 - 大同市:- 城 区- 矿 区- 南郊区 - 阳泉市:- 城 区- 矿 区- 郊 区- 平定县- 盂 县 - 长治市:- 城 区- 郊 区- 长治县- 襄垣县- 屯留县

yaml格式的处理方法如下:

首先,上面的格式是一个多级模式,有一级,二级,三级的情况,使用yaml处理后的字典如下形式:

,) =

运行得到的字典如下格式:

{'香港': '香港',

   '北京市': ['市辖区', '东城区', '西城区', '崇文区', '宣武区', '朝阳区'],

   '台湾': '台湾',

   '澳门': '澳门',

   '河北省': [{'石家庄市': ['长安区', '桥东区', '桥西区', '新华区']}, {'唐山市': ['路南区', '路北区', '古冶区', '开平区']}, {'秦皇岛市': ['海港区', '山海关区']}],

   '钓鱼岛': '钓鱼岛',

    '山西省': [{'太原市': ['小店区', '迎泽区', '杏花岭区']}, {'大同市': ['城 区', '矿 区', '南郊区']}, {'阳泉市': ['城 区', '矿 区', '郊 区', '平定县', '盂 县']}, {'长治市': ['城 区', '郊 区', '长治县', '襄垣县', '屯留县']}]}

得到的是字典,一级如,"香港":"香港",值是字符串类型;二级如: '北京市': ['市辖区', '东城区', '西城区', '崇文区', '宣武区', '朝阳区'],值是列表形式,里面嵌套的是字符串;最复杂的是三级模式,如:'河北省': [{'石家庄市': ['长安区', '桥东区', '桥西区', '新华区']}, {'唐山市': ['路南区', '路北区', '古冶区', '开平区']}, {'秦皇岛市': ['海港区', '山海关区']}],里面第二层是列表,列表里面嵌套的还是字典。

思路:

(1)本项目的核心其实是得到省/市/县这样的模式,在处理的过程中,我们根据值对应的类型进行判断,使用那种方式处理比较好;

(2)首先我们遍历字典的第一层,得到省份,把省份放在一个字典中,这样,我们就可以根据用户输入的值的情况去进行输出对应的省;

  (3)得到省之后,我们可以得到省下面的键值,判断值对应的类型,根据不同值的类型进行不同方式的操作;

(4)如果值是字符串,说明是一级菜单形式,这种方式最好处理;

  (5)如果值是列表,且第一个值是字符串,说明是北京这种的二级模式,使用二级模式的方法进行展示;

  (6)如果值是列表,且第一个值是一个字典的形式,说明是三级模式的情形,就要使用三级模式来进行操作;

(7)定义全局变量,我们要知道我们需要得到的是什么,我们要得到省市县三级模式;只有知道了对应的省市县,我们只需要去字典中遍历即可得到值的信息。

流程图如下:

代码如下:

   s =    province_dict = num,province_name enumerate(dic_db.keys(),   province_dict[num] =  print( %(num,province_name) + ,end=   num % == print( print(  find_index = input( find_index = find_index ==  sys.exit( find_index  P_NAME = elif find_index  P_NAME =  print( P_NAME #省的函数运行完成之后,返回省的名称,以便后续使用,因为主要是得到省/市/  city_name = type(city_name) ==  elif type(city_name) ==  type(city_name[]) ==   elif type(city_name[]) ==    city_dict = city_num,city_name enumerate(city_list,  city_dict[city_num] =  print( %(city_num,city_name) + ,end=  city_num % ==  print(  print(  city_index = input(  city_index =  city_index ==  city_index ==   elif city_index  C_NAME =  elif city_index  C_NAME =     print(   city_dict = c_num,c_name enumerate(country_list,  key  city_dict[c_num] = k,v  print( %(k,v) + ,end=  k % == print( print(  city_num = input(  city_num =  city_num ==  city_num ==   elif city_num  C_NAME =  key,value   value ==   C_INDEX =    elif city_num  C_NAME =  C_INDEX =   print(     countries = country_list[C_INDEX -  c_index,country enumerate(countries,   print( %(c_index,country) + ,end=   k % ==  print(  print(  country_index = input(  country_index =  country_index ==  country_index ==    elif country_index  elif country_index range(,len(countries)+   show(province,C_NAME,countries[country_index-    print( def framework(province=,city=,country=  os.system( message = +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   [;1m欢迎来到全国省市查询系统 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ***************************************************************************   省 份:%   市(区):%   县(区):% ***************************************************************************  print(message % def show(province_name=,city_name=,country_name= output = ----------------------------------------------------------------------------  美丽的%s %s % ---------------------------------------------------------------------------- [0m print(output % __name__ == with open(,)  dic_db =   ProvinceName =  judge(ProvinceName,dic_db)

代码运行如下:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   欢迎来到全国省市查询系统

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

***************************************************************************

  省 份:

  市(区):

  县(区):

***************************************************************************
 
1. 澳门 2. 山西省 3. 北京市 4. 台湾 
5. 钓鱼岛 6. 香港 7. 河北省 
==============================================================
q:Exit
请输入你要查询的省的编号/名字:1

----------------------------------------------------------------------------

  美丽的澳门 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1. 澳门 2. 山西省 3. 北京市 4. 台湾 
5. 钓鱼岛 6. 香港 7. 河北省 
==============================================================
q:Exit
请输入你要查询的省的编号/名字:2

----------------------------------------------------------------------------

  美丽的山西省 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.太原市 2.大同市 3.阳泉市 4.长治市 

===============================================================================
q:Exit b:退回上一层
请输入您要查询的市的编号/名字:2

----------------------------------------------------------------------------

  美丽的山西省 大同市 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.城 区 
2.矿 区 
3.南郊区 

===============================================================================
q:Exit b:退回上一层
请输入你要查询的县(区)编号/名字:2

----------------------------------------------------------------------------

  美丽的山西省 大同市 矿 区

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.城 区 
2.矿 区 
3.南郊区 

===============================================================================
q:Exit b:退回上一层
请输入你要查询的县(区)编号/名字:b
请输入您要查询的市的编号/名字:b
1. 澳门 2. 山西省 3. 北京市 4. 台湾 
5. 钓鱼岛 6. 香港 7. 河北省 
==============================================================
q:Exit
请输入你要查询的省的编号/名字:北京市

----------------------------------------------------------------------------

  美丽的北京市 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.市辖区 
==================================================================
q:Exit b:退回上一层
请输入您要查询的市的编号/名字:1

----------------------------------------------------------------------------

  美丽的北京市 市辖区 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1. 澳门 2. 山西省 3. 北京市 4. 台湾 
5. 钓鱼岛 6. 香港 7. 河北省 
==============================================================
q:Exit
请输入你要查询的省的编号/名字:7

----------------------------------------------------------------------------

  美丽的河北省 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.石家庄市 2.唐山市 3.秦皇岛市 
===============================================================================
q:Exit b:退回上一层
请输入您要查询的市的编号/名字:石家庄市

----------------------------------------------------------------------------

  美丽的河北省 石家庄市 

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.长安区 2.桥东区 3.桥西区 4.新华区 
===============================================================================
q:Exit b:退回上一层
请输入你要查询的县(区)编号/名字:长安区

----------------------------------------------------------------------------

  美丽的河北省 石家庄市 长安区

  欢迎您!

  这里山美,水美,姑娘更美

----------------------------------------------------------------------------
 
1.长安区 2.桥东区 3.桥西区 4.新华区 
===============================================================================
q:Exit b:退回上一层
请输入你要查询的县(区)编号/名字:q

上面代码,我学到了如下知识:

  (1)yaml格式文件的处理,导入yaml模块,使用yaml.load()进行文件字符串转换为字典形式;

(2)全局变量的定义,在很多时候,在程序运行的过程中,我们总是需要的到几个重要的变量,使用全局变量,能够让我们更好的理清思路,全局变量使用global来进行定义;

(3)函数def的结束是遇到return,遇到return无论什么时候,就结束这个函数,因为当我们与while结合使用的时候,可以直接使用return来结束这个循环;

(4)字典、列表的处理方式;

  (5)enumerate()函数的使用;

  (6)sys.exit()来退出整个程序,sys模块;

(7)不怕麻烦,牢牢知道自己需要的是什么自己的目的是什么。

热心网友 时间:2022-04-18 08:19

以WPS 2019版本为例:

关于excel表格怎样设置一级,二级,*及多级下拉菜单,在WPS「表格(Excel)」中操作方法如下:

1、首先,我们在表格将数据分别录入到Sheet2和Sheet3中,Sheet2中是一级和二级,Sheet3中是二级和*的数据。和之前制作二级下拉菜单的方式差不多,我们先进入Sheet2中,选择所有数据,点击「公式-指定-只保留「首行」前面的勾,其他的全部取消掉。同样的方法,我们再次进入Sheet3中进行操作;

2、设置一级下拉菜单:进入Sheet1,选中A2单元格,进入「数据-有效性-有效性-选择序列」,在「来源」中选择Sheet2中的「A1:C1」单元格(就是一级下拉菜单的内容);

(注意:设置完成后续先选中一个选项,否则设置二级时会提示错误)

3、设置二级下拉菜单。光标定位到B2单元格,然后进入「数据-有效性-有效性-选择序列」「来源」中输入「=INDIRECT(A2)」确定;

4、设置*下拉菜单。选中C2单元格,同样的操作,只是在「来源」中输入的是「=INDIRECT(B2)」。最后,我们选中A2:C2单元格,向下填充一下。此时,我们的多级下拉菜单就已经全部完成。

热心网友 时间:2022-04-18 09:37

Excel简单制作一级、二级、*及多级下拉菜单_百度经验 http://jingyan.baidu.com/article/375c8e1997ca2e25f3a2295b.html

热心网友 时间:2022-04-18 11:11

只通过公式和函数制作多级动态下拉菜单,请参考:
http://jingyan.baidu.com/article/a501d80c28a796ec630f5eb8.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中支黄金叶什么价 怎么在整个PPT中加入背景音乐,而不是在一张幻灯片中插入,我要的是从... 构造柱有哪些构造措施 中国风的女式花裤配什么鞋 留抵抵税额是什么意思 留抵税抵什么意思 ...里发现很多门店装修和华为一样的,但是官网查不到,这种店铺购买... 墙布贴了关窗多久 墙布贴了要关窗多久 墙布贴好要多久密闭多久 Excel 如何在一个单元格内实现树型菜单 EXCEL 如何自动建立分级显示?就是树形表 Excel 请问,如何一次创建多级目录 excel这种多级目录是如何制作的? excel 如何实现分级显示,也就是树形的菜单 excel 制作多级目录? 如何将 iOS 中的 Emoji 替换为 Android 的 Emoji 临时车牌到期了可以延期吗 临时车牌过期了,可以过段时间再去补办吗? 临时牌照快要过期了。居住证还没办好。临时牌照又不能续怎么办 汽车临牌过期没有及时补办可以续牌吗? 第二个临牌过期了还可以续第三次临牌吗? 在异地购车临时牌照到期,现在怎么办理延期 新车临牌到期了还可以接着续吗 新车临牌过期一个月还能办理临牌吗? 新车临牌到期了还能续临时牌照吗? 临时牌照可不可以先办一个月,到期了以后停两个月再续期? 跨区域临牌到期如何延期 请问,北京二手车临牌到期了,可以再续一个星期吗? 临牌有效期一个月后,还能再延一个月吗? EXCEL如何制作树形下拉菜单 Excel VBA中怎样用代码创建目录树控件到窗体上 我的金鱼一直沉在水底不动怎么回事?是不是快死了? 金鱼一直沉在水底不动怎么回事?是不是快死了? 鱼沉底不动 鱼沉底不动是什么情况 为什么鱼刚刚买回来的时候总是沉在水底一动不动的?它是死了吗? 我家的小鱼最近都沉底了,然后过了几天就死了。有些鱼都游不动了游几下就往下沉。怎么办?生病了吗 鱼睁着眼睛沉底了捞起来也不动算不算死? 鱼沉底不动,怎么办 鱼沉底不动。 养的鱼突然侧翻身沉底不动,我碰碰它又动,怎么回事?求助! 金鱼沉底不动什么原因 孔雀鱼沉底是怎么回事?? 为什么有的鱼会沉在水底不动 为什么我家的金鱼总是沉在水底一动不动? 金鱼沉在水底不动 家里养的鱼老沉在水底,也不爱动,怎么了?该做什么 我的罗汉鱼现在头朝下倒立,沉在缸底,一动不动,只有嘴巴一动一动地,是不是快死了,该怎么办? 动态ppt如何制作?