用Excel公式自动给出包括今天在内的向前一周的,一共两周的日期?
所有的日期是以今天为基准做调整,今天调整0,昨天-1,明天+1
应该是这个样子的:
![e9da8a10f62cb2a2197245198a161cba.png](https://i-blog.csdnimg.cn/blog_migrate/0d0c4f90d29d5837fc17009734f7873a.jpeg)
这个问题应该用LOOKUP+WEEKDAY+TODAY+ROW就可以解决了。
首先要计算出TODAY位于14天中的哪个位置,然后再计算出调整天数,最后用TODAY+调整天数就可以了
ROW函数的作用就是构造出序列数组:
ROW($1:$7)={1;2;3;4;5;6;7}ROW($8,$14)={8;9;10;11;12;13;14}ROW($1:$14)={1;2;3;4;5;6;7;8;9;10;11;12;13;14}
![89dd040135b62f0f39fc8c946664bad0.png](https://i-blog.csdnimg.cn/blog_migrate/620aac2af2a21d0f226cdbd9be5a0cef.jpeg)
第一步:计算TODAY的位置:
WEEKDAY(TODAY())计算出来的是今天星期几的序列号,
默认是周日为1,周一为2,周二为3
=LOOKUP(WEEKDAY(TODAY()),ROW($1:$7),ROW($8,$14))
然后通过LOOKUP函数找到,3对应的位置10
第二步:计算调整天数
用ROW($1:$14)减去TODAY的位置10
ROW($1:$14)-LOOKUP(WEEKDAY(TODAY()),ROW($1:$7),ROW($8:$14))
第三步:选中一列14个单元格,输入公式,计算结果
这是一个多单元格数组公式,然后按CTRL+SHIFT+ENTER三键
=TODAY()+(ROW($1:$14)-LOOKUP(WEEKDAY(TODAY()),ROW($1:$7),ROW($8:$14)))
![affb2370abde975735a7cdd162227aa0.png](https://i-blog.csdnimg.cn/blog_migrate/dc2b8225f1df2607d9da75c1d0505fa4.jpeg)
只要理清楚数据之间的关系,就能够找到解决办法。
ROW函数经常做这种序列号的替代,值得注意的地方是:
Row函数给出的是一列数值,如果想要一行的序列号应该用哪个函数呢?
欢迎留言解答