高山流伟 发表于 2021-12-18 16:06:00

计算 日期间隔数据的 进度问题

如图,XYZ列为数据源,现在要在S、T列计算:如果S列在数据源中,则直接使用Z1加对应的Z列数据得出结果,比如2021/12/28;如果S列不在数据源中,比如S6的2021/12/31,这天在数据源的2021/12/28和2022/1/4之间,所以使用Z1+ (1.4和12.28这两天值的差)/(1.4和12.28之间的日期差)*(12.31和12.28之间的日期差)=500+ (103-26.3)/7*3
请高手指点T列公式,谢谢!

远影 发表于 2022-1-11 10:58:02

=IFERROR(($Z$1+(VLOOKUP(MIN(IF($X$3:$X$22-S3<0,4^8,$X$3:$X$22-S3))+S3,X:Z,3,)-VLOOKUP(S3-MIN(IF(S3-$X$3:$X$22<0,4^8,S3-$X$3:$X$22)),X:Z,3,))/((MIN(IF($X$3:$X$22-S3<0,4^8,$X$3:$X$22-S3))+S3)-(S3-MIN(IF(S3-$X$3:$X$22<0,4^8,S3-$X$3:$X$22))))*(S3-(S3-MIN(IF(S3-$X$3:$X$22<0,4^8,S3-$X$3:$X$22))))),VLOOKUP(S3,X:Z,3,)+$Z$1)
数组,三键结束

杉树林 发表于 2022-1-16 22:03:47

=500+IFNA(VLOOKUP(S3,X:Z,3,),SUM(INDEX($Z$3:$Z$22,N(IF({1},MATCH(S3,$X$3:$X$22)+{0,1})))*{-1,1})/SUM(INDEX($X$3:$X$22,N(IF({1},MATCH(S3,$X$3:$X$22)+{0,1})))*{-1,1})*(S3-INDEX($X$3:$X$22,MATCH(S3,$X$3:$X$22))))写复杂了,数组下拉~

随心随意跟自然 发表于 2022-1-23 16:14:59

=IF(OR(X$3:X$22=S3),VLOOKUP(S3,X:Z,3,),(MINIFS(Z$3:Z$22,X$3:X$22,">="&S3)-LOOKUP(S3,X$3:X$22,Z$3:Z$22))/(MINIFS(Y$3:Y$22,X$3:X$22,">="&S3)-LOOKUP(S3,X$3:X$22,Y$3:Y$22))*(S3-LOOKUP(S3,X$3:X$22)))+Z$1
数组三键下拉。

提坦斯 发表于 2022-2-25 11:04:09

简化一下:
=IFNA(VLOOKUP(S3,X:Z,3,),LOOKUP(S3,X$3:X$22,(Z$4:Z$23-Z$3:Z$22)/(Y$4:Y$23-Y$3:Y$22))*(S3-LOOKUP(S3,X:X)))+Z$1
页: [1]
查看完整版本: 计算 日期间隔数据的 进度问题