用Excel公式自动给出包括今天在内的向前一周的,一共两周的日期?
所有的日期是以今天为基准做调整,今天调整0,昨天-1,明天+1
应该是这个样子的:
这个问题应该用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}
第一步:计算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)))
只要理清楚数据之间的关系,就能够找到解决办法。
ROW函数经常做这种序列号的替代,值得注意的地方是:
Row函数给出的是一列数值,如果想要一行的序列号应该用哪个函数呢?
欢迎留言解答