动态显示下拉框内容

过了冬至,你在北方瑟瑟发抖,我在广东秋风瑟瑟~

最近小编经常梦回母校~放一张母校的美图!

年底了,又到了预订报刊的时候!

肯定有人会问,这年头还有谁看报刊哇!

小编只能回应:

知道全国有多少种刊物吗?告诉你哦!12800种,小编够博学多才吧!

咳咳,如果需要预订报刊呢,选择哪个报刊是一件很痛苦的事情~

为了防止填报错误,我们必须让每个人填写的数据要与国家规定的一样,那我们设置一下自定义单元格格式!

我就问你一句话!从1万2千多个待选列表中的名称选到自己想要的,难不?

这里有个简单的方法,客官,请看!

如果可以实现单元格内敲前面的内容,然后待选择列表里面的内容和单元格内容一致的才显示,不一致的不显示。这样可以快速的提高数据填充的速度,避免了海量数据查找的麻烦!

为了方便分享,我讲整个报刊列表简化一下~

左边是原始的素材,右边呢是给三个小编订报纸。

不要纠结与小编前面的形容词,越没有什么越想要什么!

开始想办法实现!

如果我想实现

帅气的小编报刊待选择的列表是北京开头的;

勤劳的小编报刊待选择的列表是初中开头的;

博学的小编报刊待选择的列表是本草开头的。

那我怎么手动实现呢?

第一步:先将原始数据排序

为什么要排序呢,排序才方便我选择整个列表哇!

排序后如何实现刚刚的要求,我们来动图演示一下!

我们将三个单元格分别设置为不同的区域,这样子每个单元格都可以显示自己的内容了!

说好的人工智能呢!说好的自动实现呢!

第二步:思考如何实现每次选择不同的区域

如何才能选择不同的区域呢?介绍一个函数Offset,虾米用呢?

它的参数很多,一共有五个参数

=Offset(以哪个单元格为原点,向下移动多少行,向右移动多少列,返回多少行,返回多少列)

大家当年初中肯定学过坐标轴吧。其实一样的,那我们先演示一下如何实现选中北京开头的那些单元格!

如果想快速的获取北京为首的一串单元格,需要使用Offset函数实现!

同理想获取初中和本草开头的也可以用Offset函数实现!

那我们用动图直接操作一下!

那我们知道了如何用Offset函数实现选择某个区域,并且发现只有第二个向下多少行,第四个返回多少数量的单元格是变得,其它都是固定的,剩下的就是想这两个参数如何能够根据单元格的内容自动变化。

第三步:Offset函数中的参数自动变化

首先第二个参数是向下移动多少,那我们想获取某个文本在某一列的位置,应该用的函数是什么?

Match函数,Match函数接三个参数

=Match(判断的文本,在哪个区域内判断,0)

返回的是文本在区域内是第几个单元格

但是北京并不等于北京老年报,如何让他们相等呢?增加一个通配符!

公式:=MATCH(C7&"*",A1:A21,0)

那如果我想获取Offset向下移动了多少,那用Match的结果减去1即可!

那应该返回多少行数据呢?

Countif函数实现

=Countif(判断列表,要判断的条件是什么)

公式:=COUNTIF(A1:A21,C12&"*")

上述两个公式可以实现

第四步:函数组合实现

那我们分别将Match和Countif函数嵌套在Offset函数中!

效果如下:

公式:

=OFFSET(A1,MATCH(D2&"*",A1:A21,0)-1,0,COUNTIF(A1:A21,D2&"*"),1)

加上绝对引用

=OFFSET($A$1,MATCH(D2&"*",$A$1:$A$21,0)-1,0,COUNTIF($A$1:$A$21,D2&"*"),1)

动图实现!

将要填报的区域选中,然后将编辑好的公式粘贴到序列那里面即可!

注意哦,为了防止你输入初中,电脑认为你填报错误,所以在条件格式出错告警中要勾选掉,这样就可以完美实现我们的需求啦~

谢谢各位表亲!

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2017-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨龙飞前端

scrollto 到指定位置

2544
来自专栏芋道源码1024

熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker

本文主要基于 Hystrix 1.5.X 版本 1. 概述 2. HystrixCircuitBreaker 3. HystrixCircuitBreaker....

5377
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4055
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏魂祭心

原 canvas绘制clock

4204
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2222
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5616
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2596
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

32110

扫码关注云+社区