如何在excel中根据当前日期提取数据?

A列为日期,B列为相应数值,如何做如下计算:自动提取当天日期对应的数值,然后除以B列中最大的数值?谢谢。

10月1日
12

10月2日
2

10月3日
432

10月4日
3

10月5日
54

10月6日
46

10月7日
456

10月8日
75
百度排版有问题,每个日期下面的数字,其实应该是在B列的。

自动输入要VBA或一个稍复杂的公式,这里不好表达,也不一定合适你用,建议快捷键输入。
按ctrl+; 插入日期,按ctrl+shift+; 插入时间。可以把他们同时输在一个单元格里,中间用空格分开。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-16
如果结果可以放在C列的话,可以在C列用一个公式来解决问题,如C2中可以输入如下公式:
=if(a2=today(),b2/(max(b:b)),"")
下面单元格可以用填充柄填充上述公式。
不过,我不知道是否理解的你的真正意图,你的意思应该是用当天日期对应的B列的数据除以B列中最大的数吧?如果是这样的话,请测试上述公式。追问

如图,我需要的是在C2黄色格内有一个函数自动计算:当天的库存数(比如8日是7吨,9日变为4吨),减去B列内最大的库存数(比如7日的9吨),然后再除以这个最大的数(9吨),这样得出一个比例。不需要填充柄去拉,只要这个黄色框内的数据每天自动计算一次就好了。不知道说清楚了没有。多谢。

追答

不用判断日期是不是今天吧?那就简单多了!但是,当天的库存数减去最大库存数,大部分得数不就成负数了吗?要是负数也无所谓的话,可以在C2输入如下公式:
=(b2-max(b:b))/max(b:b)
如果不想用填充柄的话,那就只能用VBA代码实现了,比公式复杂很多,并且还得启用宏,数据量较大时,计算就会比较慢。建议使用方便快捷的公式。
请进行测试,并请反馈测试结果。

本回答被网友采纳
第2个回答  2014-10-16
A列的日期应该不会是文本日期吧

=VLOOKUP(TODAY(),A:B,2,)/MAX(B:B)
试一下这个公式追问

这个公式返回N/A。。。
A列单元格格式就是日期。

追答

返回N/A那就说明A列没有当天的日期数据,才会返回这样的错误值

按你在楼上的追问

公式可以写成
=LOOKUP(9E+307,B:B)/MAX(B:B)
即取B列最后一个非空值除以B列的最大值

如果是最后的非空值还要减去最大值,再除以最大值(那不是肯定为负数或0),公式为
=(LOOKUP(9E+307,B:B)-MAX(B:B))/MAX(B:B)

本回答被提问者采纳
相似回答