分享

用EXCEL可以这么看中国的历史朝代(lookup妙用)

 跟我学EXCEL 2020-08-17
用EXCEL可以这么看中国的历史朝代(lookup妙用)

用EXCEL可以这么看中国的历史朝代(lookup妙用)

历史需要记忆
今天突发奇想,如果我知道年代能不能一下子查看中国的历史朝代归属呢,就立马想到了一个函数,先不说,先看看我做的效果。
用EXCEL可以这么看中国的历史朝代(lookup妙用)

用EXCEL可以这么看中国的历史朝代(lookup妙用)

朝代查询
看到这个是不是感觉很好玩啊,大家首先想到的应该是查询函数,很多人会最先想到Vlookup(),也有的会想到index()和match组合,但其实都不太好使,因为朝代是个区间;那是不是要判断啊,会用到IF()函数,但IF()函数也是有其局限性的,只能7层嵌套,但中国的朝代那么多7层嵌套肯定是不够的。
我最先想到的是lookup这个牛叉的查询函数,说实话lookup比vlookup和hlookup应用范围会更广,利用其模糊查询的功能。其实我们要搞懂lookup查询的原理,这个函数是利用二分法来查的,而且返回的是小于等于的最大值,但要求数据排列必须是升序的。
下面说下lookup函数查询原理,如果嫌我讲的啰嗦,下面的查询原理可以跳过,记住升序排列就行了,具体原理如下:
比方说我们有(1,7,8,9,13,15,18)7个数,我用10来查,但我们会发现lookup查询结果会是9,这个是怎么回事呢,二分法就是首先要找到数据的中间值,我们能发现5个数字中间的数字是9,中间值时9<10,而我们默认是右边大于左边的数字,所以会继续向右找中间值,右方数据(13,15,18)中间值是15,很明显15>10的,那怎么办,往左找呗,往左是(9,13)两个数,10<13,排除13,我们选到了9。
好了说了这么多,我们开工吧:
1.首先做一个朝代表,网上就有,可以下一个。
公元前用负数表示,公元元年及公元元年后用正数
用EXCEL可以这么看中国的历史朝代(lookup妙用)

用EXCEL可以这么看中国的历史朝代(lookup妙用)

朝代对照表
2.设计查询表
设计表头纪年、年代、朝代;纪年输入框位置B2单元格通过数据验证(或数据有效性)-序列,设计下拉菜单公元前、公元;年份位置C2单元格为自主输入区域,设置为格式为常规就可以了。
朝代的查询结果位置D2单元格输入=LOOKUP(IF(B2="公元前",-C2,C2),B6:C26),if函数主要作用是将公元前的年代变为负数,公元后是正数,是不是最后发现这个函数好简单。
LOOKUP有两种不同形式,在这里都是可以的;
一种是我输入的这种叫数组形式,即LOOKUP(lookup_value,array);
一种叫向量形式LOOKUP(lookup_value,lookup_vector,result_vector),所以我们把公式也可以写为LOOKUP(IF(B2="公元前",-C2,C2),B6:B26,C6:C26)。
用EXCEL可以这么看中国的历史朝代(lookup妙用)

用EXCEL可以这么看中国的历史朝代(lookup妙用)

如果喜好我的文章,欢迎关注我的微信公众号:跟我学EXCEL图表

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多