过了冬至,你在北方瑟瑟发抖,我在广东秋风瑟瑟~
最近小编经常梦回母校~放一张母校的美图!
年底了,又到了预订报刊的时候!
肯定有人会问,这年头还有谁看报刊哇!
小编只能回应:
知道全国有多少种刊物吗?告诉你哦!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)
动图实现!
将要填报的区域选中,然后将编辑好的公式粘贴到序列那里面即可!
注意哦,为了防止你输入初中,电脑认为你填报错误,所以在条件格式出错告警中要勾选掉,这样就可以完美实现我们的需求啦~
谢谢各位表亲!