【excel】设置二级联动菜单

文章目录

  • 【需求】在一级菜单选定后,二级菜单联动显示一级菜单下的可选项
  • 【步骤】
    • step1 制作辅助列
      • 1.列转行
      • 2.在辅助列中匹配班级成员

之前做完了 【excel】设置可变下拉菜单(一级联动下拉菜单),开始做二级联动菜单。

【需求】在一级菜单选定后,二级菜单联动显示一级菜单下的可选项

示例:A、B列为原始明细数据。
K2单元格为一级菜单,在K2单元格内容选定后,要求在L2单元格的下拉菜单中,显示K2对应的内容。
如,K2单元格为”一班“时,L2下拉菜单中,显示”一班“成员的列表:
在这里插入图片描述

【步骤】

在【excel】设置可变下拉菜单(一级联动下拉菜单)中,我们曾做过一个辅助列(辅助单元格),在此处具体步骤略。
我们从这篇文章的内容出发向下走。所以,当前我们的表格已经是这样的:
在这里插入图片描述
我们的目标是在G2单元格做二级下拉菜单。

step1 制作辅助列

1.列转行

辅助列D1单元格的公式写好以后,我们先将里面的内容横向展开。
选择I1单元格输入公式:=OFFSET($D$1,COLUMN(A1)-1,0)&"",然后横向拖动,多填几列(比如填充10列,就是预留出10个班级…具体根据实际需要)
OFFSET()公式,在这里是取D1单元格中的内容,这里COLUMN(A1)中的单元格是随着拖动公式而变化的。
在I1中,偏移量是1-1=0,OFFSET($D$1,COLUMN(**A1**)-1,0)的结果是D1单元格中的第一项,也就是”一班“;
公式拖动到J1的时候偏移量是2-1=1,OFFSET($D$1,COLUMN(**B1**)-1,0)的结果是D1单元格中的第二项,也就是”六班“;
公式向右拖动n个单元格,就是偏移n-1,相应的取第n项(注意这里的逻辑,从第一项,偏移n-1个,就是第n项,没问题吧?)。
在这里插入图片描述
公式后面的&“”,是将向右拖动的结果中的0替换为空。
因为拖动公式的单元格数量可能超过D1单元格中班级的数量,如果不写&"",后面的结果中将出现0,这是我们不想看到的:
在这里插入图片描述
&""可以将结果强制转换成文本,这样结果中的0就不再显示出来了。

2.在辅助列中匹配班级成员

在I2单元格写入公式=INDEX($B:$B,SMALL(IF($A$1:$A$100=I$1,ROW($1:$100),4^8),ROW(A1)))&"",注意绝对引用的位置。
解释一下公式,从内往外展开:
IF($A 1 : 1: 1:A$100=I$1,ROW($1:$100),4^8),绝对引用A列的前100行,也就是”班级“列的内容,虽然这里也包含了不需要的表头,但是没关系,并不影响结果。
这个if()函数是个数组函数,从一开始说起。当A1的值与I1单元格相同时,返回1,否则返回4的8次方(就是返回一个超大值,用以区分A列与I1相同的返回值。当他们匹配上时,返回的最大值不就是row(100),也就是100吗,而4的8次方远大于100)。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/663798.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法(六)计数排序

文章目录 计数排序技术排序简介算法实现 计数排序 技术排序简介 计数排序是利用数组下标来确定元素的正确位置的。 假定数组有10个整数,取值范围是0~10,可以根据这有限的范围,建立一个长度为11的数组。数组下标从0到10,元素初始…

【C++】哈希(2万字)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 unordered系列关联式容器 unordered_map unordered_map的文档介绍 unordered_map的接口说明 unordered_set 底层结构 哈希概念 哈希冲突 哈希函数 哈希…

【康耐视国产案例】Nvidia/算能+智能AI相机:用AI驱动 | 降低电动车成本的未来之路

受环保观念影响、政府激励措施推动与新能源技术的发展,消费者对电动汽车(EV)的需求正在不断增长,电动汽车已经成为了未来出行方式的重要组成部分。然而,电动汽车大规模取代燃油汽车的道路还很漫长。最大的障碍就是电动汽车的售价相对过高。尽…

新设立湖北投资管理公司流程和要求

在湖北投资管理企业进行注册时,需要准备一系列的材料并按照一定的流程进行办理。本文将从注册材料及注册流程两方面来介绍,帮助您了解注册投资管理企业的步骤和所需的具体材料。详情致电咨询我或者来公司面谈。 新注册材料要求: 企业名称申请书:要求提供…

vue路由跳转之【编程式导航与传参】

vue路由有两种跳转方式 ----> 编程式与声明式,本文重点讲解vue路由的【编程式导航 】【编程式导航传参 ( 查询参数传参 & 动态路由传参 ) 】等内容,并结合具体案例让小伙伴们深入理解 ,彻底掌握!创作不易,需要的…

汇编:调用C函数

在32位汇编程序中可以调用C函数;这种做法在很多情况下是有用的,尤其是在汇编程序需要与C代码进行交互或利用C语言的库函数时。下面是一些情况下使用汇编调用C函数的常见情景: ①优化性能:某些特定的任务可能用汇编语言编写更有效率…

[Linux]重定向

一、struct file内核对象 struct file是在内核中创建,专门用来管理被打开文件的结构体。struct file中包含了打开文件的所有属性,文件的操作方法集以及文件缓冲区(无论读写,我们都需要先将数据加载到文件缓冲区中。)等…

POP —— Nodes DOP

POP Advect by Volumes —— 使用速度场驱动粒子 此节点被设计为更容易通过流体来驱动粒子,通常流体被单独模拟并从磁盘上读取速度场;此操作将修改force、vel、P属性; Update Force,调整粒子的加速度,类似POP Force&a…

RAID技术迭代、原理对比、产品梳理(HCIA)

目录 一、RAID技术迭代 传统RAID LUN虚拟化2.0 工作原理: 块虚拟化2.0 为什么有RAID2.0? RAID2.0实现原理: RAID-TPRAID 7 华为RAID-TP技术 RAID的4种工作状态 RAID算法 普通RAID算法 华为动态RAID算法 保险箱盘(存掉…

el-table中的信息数据过长 :show-overflow-tooltip=‘true‘**

可以在 el-table-column中添加 :show-overflow-tooltip‘true’

数字孪生仿真渲染引擎EasyTwin全新升级,焕新、多元、优质、高效一步到位!

EasyTwin作为数字孪生仿真渲染引擎,自2023年进入公测以来,致力于实现低成本零代码操作。在今年年初,我们重新回归业务场景,将产品定位从“融合渲染”转变为“仿真渲染”,面向数字孪生仿真渲染领域推出全新版本&#xf…

Optional类

一、概述 泛型类、java8引进的、java.util包里 二、作用 解决空指针异常带来的不便 三、做法 将对象封装为一个Optional对象,如果封装的对象为空(即该对象不存在),可以使用默认值和或者执行默认操作 四、方法 1、empty() 创…

【Qt秘籍】[006]-Qt 的 Hello World程序-编程第一步

"Hello,World!" 中文意思是“你好,世界”。 因为 The C Programming Language 中使用它做为第一个演示程序,后来很多程序员在学习编程或进行设备调试时延续了这一习惯。 下面,我们也将演示Qt中的"Hello World!" 我们先创…

【脚本篇】---spyglass lint脚本

目录结构 sg_lint.tcl (顶层) #1.source env #date set WORK_HOME . set REPORT_PATH ${WORK_HOME}/reports puts [clock format [clock second] -format "%Y-%m-%d %H:%M:%S"] #2.generate source filelist #3.set top module puts "##…

Ehcache Java 缓存框架

详解 下图是 Ehcache 在应用程序中的位置: Ecache 是一个广泛使用的 Java 缓存框架,能够有效提升应用性能,并减少与后端数据库的交互次数。它采用了一系列高级缓存策略,包括内存缓存、磁盘缓存、分布式缓存等,并提供了…

战略合作 | 竹云赋能雁塔区数字经济高质量发展

2024年5月30日,由西安市数据局指导,中共西安市雁塔区委、西安市雁塔区人民政府主办的 “雁塔区企业数字化转型发展大会” 在西安开幕。 本次活动以“数智雁塔,引领未来”为主题,特邀业内150余位政府、数字化服务企业、传统行业企…

木叶飞舞之【机器人ROS2】篇章_第三节、给turtlebot3安装realsense深度相机

我们做视觉slam时会用到深度相机,但是gazebo的turtlebot3中只有rgb相机,没有深度,因此本节会修改代码,来给我们的小乌龟增加一个rgbd相机。 效果展示 发布topic如下图 图片大小都是640*480 1. 修改model.sdf文件 1.1 路径位置…

idea项目一直在build

IDEA项目一直在build的原因可能包括构建进程堆大小过小、缓存问题、依赖包下载缓慢或网络问题。12 构建进程堆大小过小:如果IDEA的构建进程堆大小设置得不够大,可能会导致构建过程缓慢或卡顿。解决方法是将构建进程堆大小参数扩大,例如将700…

Pont在小程序开发的使用

Pont是一个很好的前后端桥,但是有个问题。默认产生的代码,无法支持微信小程序开发。根本原因是因为使用了window给全局的对象注入了API和refs属性,由于小程序没有window属性,当然就无法使用了,解决办法也比较简单。只需…

618适合入手哪些数码好物?实用数码好物清单分享,错过拍烂大腿!

在一年一度的618购物狂欢节里,许多数码爱好者们都在这次盛大的购物盛宴中觅得心仪的数码好物,数码产品不仅改变了我们的生活方式,更让我们享受到了前所未有的便捷和乐趣,那么在这个618,哪些数码好物值得我们入手呢&…