【问题标题】:Select max and min Datetime in a range在一个范围内选择最大和最小日期时间
【发布时间】:2019-05-09 14:28:29
【问题描述】:

我正在尝试从 Excel 中的某个范围内获取最大和最小日期。我使用了 MIN(A9:A18) 和 Max(A9:A18) 并将结果单元格中的格式更改为日期,但它什么也不显示。 日期:

字段:

格式:

非常感谢!

【问题讨论】:

  • “日期”似乎是看起来像日期而不是真实日期的文本。如果您将日期格式更改为常规,它们会更改为数字吗?
  • 是的,它显示 0
  • 我确实试过那样没有运气@Tom
  • @Tom - 你是说=DATEVALUE(A9) 吗?
  • @CLR 是的,你完全正确

标签: excel vba


【解决方案1】:

您的日期确实是看起来像日期的文本字符串,而不是日期。

您可以使用其他答案选项来更正单元格,因此它们包含日期,而不是文本 - 或者,如果这种情况会反复发生,您可以使用 MaxMin 在文本上使用数组公式。

Min 的公式为:

=MIN(DATEVALUE(A9:A18))

但是在键入公式时,不要只按 Enter。要告诉 Excel 您正在输入数组公式,请在按 Enter 时按住 CTRL+SHIFT

然后,对Max使用完全相同的方法:

=MAX(DATEVALUE(A9:A18)) [CTRL]+[SHIFT]+[ENTER]

【讨论】:

  • 感谢@CLR。这真的很简单。
  • 虽然这可能很简单,但如果你有一个大数据集,它实际上很慢而且效率很低。修复你的数据源而不是捏造它
  • 同意。这完全取决于 OP 是否是例如导入文本,或者可能使用他们无法控制的自动化。运行 Array 所损失的时间比定期纠正单元要快得多。但是,如果它是一次性的,那么最好的选择当然是更正单元格而不使用数组。只是提供选项。
【解决方案2】:

在您的日期范围旁边插入一列并使用以下公式:

=DATE(RIGHT(A9,4),LEFT(A9,2),MID(A9,4,2))

并向下拖动。然后复制这些单元格并将这些单元格的值粘贴到A 列中的源单元格上。然后删除插入的列

【讨论】:

  • 那是我@TOM
【解决方案3】:

您是否尝试更改格式类型?您可以在自定义部分自定义类型,如mm/dd/yyyy

【讨论】:

  • 在英文机器上是mm/dd/yyyy
  • 感谢@Tom 提供的精确度
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-23
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 2021-01-29
  • 1970-01-01
相关资源
最近更新 更多