公式
= {VLOOKUP(LEFT([@[Date attending]],3),Parameters!$O$1:$P$13,2,0)&"/"&MID([@[Date attending]],5,2)&"/"&MID([@[Date attending]],9,4)*1
上面公式的快速概述:
左指的是第一张图片(2019年8月7日),并抓住了“八月”。 “参数”选项卡上有一个帮助者列,可将我的月份转换为数字。因此8月将转换为8。其余公式基本上只是连接“ 2019年8月7日”的部分内容。
显然这有问题。如您在上方所见,这也在字符串中使用逗号(2019年8月7日)。 因此,每次发生这种情况时,我都会将公式更改为以下内容:(TLDR;我只是更改了一个MID公式以获取一个字符而不是2个字符)
=VLOOKUP(LEFT([@[Date attending]],3),Parameters!$O$1:$P$13,2,0)&"/"&MID([@[Date attending]],5,1)&"/"&MID([@[Date attending]],9,4)*1
答案 0 :(得分:1)
您可以使用DATEVALUE()
和SUBSTITUTE()
:
=DATEVALUE(SUBSTITUTE([VLOOKUP FORMULA HERE],"at",""))
B5
的格式为m/d/yy
。
替代方法(如我所评论)是从您的VLOOKUP()
结果中删除逗号。但是,根据要对此结果进行 的操作,您可能希望将其实际设置为日期格式,即DATEVALUE()
的格式。
答案 1 :(得分:1)
您不需要参数。尤其是因为您的日期(除了 at 单词以外)确实是明确的。
只需使用DATEVALUE
:
=DATEVALUE(LEFT([@[Date attending]],FIND(" at",[@[Date attending]])))
或
=INT(SUBSTITUTE([@[Date attending]],"at ",""))
如果您还希望有时间,那么:
=DATEVALUE(LEFT([@[Date attending]],FIND(" at",[@[Date attending]])))+ TIMEVALUE(MID([@[Date attending]],FIND("at",[@[Date attending]])+3,99))
或更简单:
=--SUBSTITUTE([@[Date attending]],"at ","")
如果由于某种原因需要月份号,请使用MONTH
函数将上面的内容包装起来。
根据需要设置结果格式。
答案 2 :(得分:0)
有一个名为DATE的函数,带有3个参数(DATE(年,月,日)),将为您进行转换。
所以我想您可以采用类似的解决方法:
DATE(MID([@[Date attending]],9,4)*1,VLOOKUP(LEFT([@[Date attending]],3),Parameters!$O$1:$P$13,2,0),MID([@[Date attending]],5,2))
希望有帮助
答案 3 :(得分:0)