分享

Excel中如何随着时间变化每月的任务指标随着变化

 千彩一工作室 2019-09-10

转自EXCEL不加班

在Excel中查询问题是比较常见的,针对这种问题首选VLOOKUP函数。

如果你对VLOOKUP函数还不了解,先看一个通俗的函数图解。

Excel中如何随着时间变化每月的任务指标随着变化

铺垫完进入疑难:

Excel中如何随着时间变化每月的任务指标随着变化?

数据源究竟如何,需要使用这么长的一条公式?

打开表格,可以看到这里的查询是动态的,每月变动一次。201701代表2017年1月份,而现在是2月份。1月份就返回第2列,2月份就返回第3列,依次类推。

Excel中如何随着时间变化每月的任务指标随着变化

理解了题意以后,这道题变得简单多了。

获取今天的日期可以用:

=TODAY()=NOW()

两个函数都可以用,以其中一条来说明,转变成月份可以用:

=MONTH(NOW())

现在是2月份,也就是返回2。而2月份要返回第3列,也就是月份+1。

=MONTH(NOW())+1

综合VLOOKUP函数就获取最终答案。

=VLOOKUP(A13,$A$1:$J$4,MONTH(NOW())+1,0)

本来到这里问题就结束了,但是卢子想得比较长远。日期可能会跨年,这样就不能用这种。

跨年的情况下,用获取年月在第1行的排位,也就是返回第几列。

先说获取年月,这个采用TEXT函数即可。

=TEXT(NOW(),"emm")

e代表4位数的年份,也可以用yyyy,mm代表2位数的月份。

TEXT获取的年月是文本格式,而数据源的年月是数值,所以需要将文本格式转换成数值。文本格式转数值只要让其参与运算即可转变,最常用的就是在前面添加--。

=--TEXT(NOW(),"emm")

排位就用MATCH函数,如卢子在几兄弟中排行老四,也就是第4个,返回4。

=MATCH("卢子",{"老大";"老二";"老三";"卢子"},0)

将年份跟区域代替进去,就知道年月所在位置。

=MATCH(--TEXT(NOW(),"emm"),$1:$1,0)

最终的公式为:

=VLOOKUP(A13,$A$1:$J$4,MATCH(--TEXT(NOW(),"emm"),$1:$1,0),0)

问题搞定收工。。。。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多