是否有可能让Excel返回一个date,倒计时到一个不是今天或现在的特定date的date?

是否有可能让Excel返回一个date,倒计时到一个不是今天或现在的特定date的date? 例如:End_date是04/22/14,我拥有的数据是“前2周”,“前3天”,“前4个月”等。因此,我希望“前3天”的单元格显示date(14年4月19日)

我发现从今天开始倒计时的信息:= DATEVALUE(“2014年4月22日”) – 今天()和“剩余天数”

但是这显示剩余的时间,我需要将今天replace为代表“4月22日之前2周”的值,并且返回成为数据

这可能是不可能的:/

除了上面我的评论之外,由于你的post没有提到你会在1 month before2 years before 1 month before文字,我会假设他们不在那里。 如果他们是那么我们将不得不略微调整公式。

假设你的数据是这样的(忽略红色的单元格,我仍然在试验它)

在这里输入图像说明

只需在单元格B2添加此公式并将其拉下

=(LEFT(A2,SEARCH(" ",A2,1)))*(VLOOKUP(TRIM(MID(A2,SEARCH(" ",A2,1),SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1))),F:G,2,0))

这在C2和拉下来

=DATEVALUE("22-April-2014")-B2

另外,在F:J列中添加一个查找小表,如下图所示

在这里输入图像说明

说明

我使用Left/Search/Mid来提取数字部分和文本,然后可以是Day/week/Days/weeks/fortnight/fortnights/Months/Years/Month/Year fortnights Day/week/Days/weeks/fortnight/fortnights/Months/Years/Month/Year ,然后使用Vlookup查找等价物天。

所以,如果我打破这个=(LEFT(A2,SEARCH(" ",A2,1)))*(VLOOKUP(TRIM(MID(A2,SEARCH(" ",A2,1),SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1))),F:G,2,0))为第一个单元格,

(LEFT(A2,SEARCH(" ",A2,1))) (VLOOKUP(TRIM(MID(A2,SEARCH(" ",A2,1),SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1))),F:G,2,0)) = 7

因此= 3 * 7 = 21

(VLOOKUP(TRIM(MID(A2,SEARCH(" ",A2,1),SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1))),F:G,2,0))可以进一步分解

TRIM(MID(A2,SEARCH(" ",A2,1),SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1)))会给你Weeks ,一旦我们知道我们做一个简单的查询。

挑战

就像我提到的,如果你有几个月和几天,那么可以有多个值。 见桌子。

如果文本包含days,weeks,months and years那么这个解决scheme是有帮助的。

C添加公式==MID(A1,FIND(" ", A1)+1,3)并将其向下拖动。
B列中加上公式=IF((C1="day"),($B$1-LEFT(A5,1)),IF(C1="wee",($B$1-(LEFT(A5,1)*7)),IF(C1="mon",EDATE($B$1,-LEFT(A5,1)),IF(C1="yea",EDATE($B$1,(-LEFT(A5,1)*12)))))并将其向下拖动。

如果EDATE()函数不可用,并返回#NAME? 错误意味着安装并加载分析工具库加载项。

请访问这里来加载Excel分析工具包。

以下是解决scheme的快照。

在这里输入图像说明