Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 获取Excel中此格式的两个日期之间的天数_Vba_Excel_Date_Datediff - Fatal编程技术网

Vba 获取Excel中此格式的两个日期之间的天数

Vba 获取Excel中此格式的两个日期之间的天数,vba,excel,date,datediff,Vba,Excel,Date,Datediff,我在Excel中有两个日期值。它们是20170124;202000(2017年1月24日2020小时00秒)和20170515;021146(2017年5月15日0211小时46秒)。我想得到这两个日期之间的天数 我尝试使用公式=DATEDIF(G838,G839,“md”),其中前两个参数是包含日期的单元格。返回的值是#value 我可以使用什么Excel公式或VBA函数来获取两个日期之间的天数?如果单元格A1中有字符串,请使用公式将其转换为实际日期,然后再查找差异 =DATE(LEFT(A1

我在Excel中有两个日期值。它们是
20170124;202000(2017年1月24日2020小时00秒)和20170515;021146(2017年5月15日0211小时46秒)。我想得到这两个日期之间的天数

我尝试使用公式
=DATEDIF(G838,G839,“md”)
,其中前两个参数是包含日期的单元格。返回的值是
#value


我可以使用什么Excel公式或VBA函数来获取两个日期之间的天数?

如果单元格A1中有字符串,请使用公式将其转换为实际日期,然后再查找差异

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))

您也可以将其直接包含在公式中。

如果单元格
A1
中有字符串,请使用公式将其转换为实际日期,然后再查找差异

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))
您也可以将其直接包含在公式中。

试试这个

=DATEDIF(DATE(LEFT(G838,4),MID(G838,5,2),MID(G838,7,2)),DATE(LEFT(G839,4),MID(G839,5,2),MID(G839,7,2)),"d")
试试这个

=DATEDIF(DATE(LEFT(G838,4),MID(G838,5,2),MID(G838,7,2)),DATE(LEFT(G839,4),MID(G839,5,2),MID(G839,7,2)),"d")

通常Excel显示此值,但列的宽度不足以显示其实际包含的完整值。@Nirav Madariya,我确认这不是因为缺少宽度。DateDif函数接受日期作为参数,返回的错误仅表示单元格G838和G839不是日期或日期作为文本。在空白单元格中,键入公式=ISNUMBER(G838)。你得到的是真还是假。如果你得到的是假,这意味着这些不是日期。Excel将日期视为数字。我添加了一个解决方案。看看这是否会产生所需的输出。通常,当列没有足够的宽度来显示其实际包含的完整值时,Excel会显示此值。@Nirav Madariya,我确认这不是因为缺少宽度。DateDif函数接受日期作为参数,返回的错误仅表示单元格G838和G839不是日期或日期作为文本。在空白单元格中,公式=ISNUMBER(G838)。你得到的是正确的还是错误的。如果你得到的是错误的,那意味着这些不是日期。Excel将日期视为数字。我添加了一个解决方案。看看这是否会产生所需的输出。感谢帮助。但是,返回的答案是21。从
20170124;202000
20170515;021146
之间肯定有21天以上的时间。我发现了how来得到正确的答案。对你的答案稍加修改。用“d”代替“md”。我已经编辑了你的答案。非常感谢。你太棒了!不客气!我用“md”是因为它在你原来的公式中,我认为这是你想用的论点,所以没有改变它。:)无论如何,很高兴你的问题已经解决了。:)谢谢你的帮助。然而,返回的答案是21。
20170124之间肯定有21天以上;202000和20170515;021146
。我发现了如何得到正确答案。对你的答案稍加修改。用“d”代替“md”。我已经编辑了你的答案。谢谢。你真棒!不客气!我使用“md”是因为它在你的原始公式中,并且认为这就是你想要使用的参数,所以没有改变它。:)无论如何,很高兴你的问题已经解决了。:)