Excel搜索指定时间 返回指定时间对应列下的数据并展示?

如图所示,计算25日的剩余金额公式为$B$2*(1-D2) 当日期变为26日时 如何利用公式自动更新为$B$2*(1-E2)的值,之前想过用=vlookup(today(),$c$1:$i$1,???,0),请知道的老师能指点下 感谢!

要让公式自动更新过去,分两种情况,你没说,我给你都做出来,你自己取舍

J2=B2*(1-OFFSET($B2,,LOOKUP(9^9,IF(TODAY()=$C$1:$I$1,COLUMN(A:G),""))))

K2=B2*(1-IFERROR(LOOKUP(9^9,C2:I2),0))

J2是按电脑系统日期进行更新,假如电脑日期为1月26日,则公式求值为B2*(1-1月26日)

K2是不管电脑日期是多少号,都按日期处填入数据的最后一天来求值。数据不更新,公式不变动。

引用区域要根据自己实际区域进行改变。

示例图中的当前日期为1月25日

追问

老师 您好 两个公式有些复杂 没能理解 能协助拆借讲解下吗 谢谢 另外我用的是WPS 按照您这个 没有出现一样的结果

追答

没有出现正确结果,我想了一下,大概两种可能性,一是标题日期不是正确的日期格式,二是前面的金额不是常规数值类型。
这两个公式和WPS是兼容的,不会存在公式出现问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-26

公式可以很简单,如图。J2:

=B2*(1-LOOKUP(9^9,C2:I2))

图中下面是复制的数据,日期只到24日


公式解读:LOOKUP在C2:I2中去寻找一个很大的数(这里是9^9,这个很大的数字必须大于任何可能输入的数字),找不到,就返回最后一个小于要查找的数,因为查找范围内没有这么大的数,所以总会返回最新的(最右的)数字。

如果要按你自己的思路,在保证第1行日期为真实的日期数据前提下,如输入:

1-24

得到的就是1月24日,且是真实的日期数据。

J2=B2*(1-HLOOKUP(TODAY(),C$1:I2,ROW()))

HLOOKUP是行中查找,C$1:I2使公式下拉时固定起始单元格为C1,所以总是第1行中查找当前日期,找到后在第1行与当前行的数据中返回当前行数据。

因为是行中查找数据,所以要用HLOOKUP,VLOOKUP是在列中查找。原理是一样的。

本回答被提问者采纳
第2个回答  2022-01-26

用offset函数来做

公式原理:

第一步:用match函数确定当下日期在A1:I1的位置,也就是match(today(),a1:i1,0)

第二步:用offset函数提取当下日期对应的百分数,也就是

offset(A1,1,match(today(),a1:i1,0)-1,1,1)

第三步:进行数字运算,

B2*(1-offset(A1,1,match(today(),a1:i1,0)-1,1,1))

如有疑问可以继续交流!

第3个回答  2022-01-26

其实你是想取当天当日对应的百分比数据,对吧。

如果是的话可以用以上公式,公式可以往下拉

第4个回答  2022-01-26
=B2*(1-HLOOKUP(TODAY(),$1:$7,ROW(A2),))
下拉填充